1. c語言,詳細說明流程圖過程
整個程序包括三個分支,首先要求進入登錄頁面,在這里進行登錄,登錄後可以選擇三種操作,分別是添加查詢和管理。
在選擇添加時可以添加新檔案,並檢測新檔案信息是否合法,不合法要求重新輸入,合法則顯示輸出結果
選擇查詢時可以查詢檔案信息並輸出結果
選擇管理時可以進行檔案修改或刪除檔案,完成修改或刪除操作後顯示輸出結果頁。
2. c語言流程圖怎麼畫
定義變數--------初始化變數------使用選擇或者循環或者順序結構------調用某一個子函數(可以沒有)----------程序結束 以上是最簡單的程序流程圖畫法
倘若你是畫某一演算法或是某一模塊的流程圖的話就要把相應的演算法或是模塊看懂再說分析演算法或是模塊的具體走法根據此走法就可以畫出對應的流程圖
如果你是初學者是想根據流程圖的畫法而去嘗試編程的話我建議你就一定要研究好每一個使用到的演算法讀懂題目再畫流程圖
3. C語言流程圖
本人將功能重現,代碼如下:(解決了你的源代碼中無法正常循環運行的問題)
#include<stdio.h>
#defineN4//人數
#defineKMS3//科目數
structstudent
{
charname[20];
floatscore[3];//score[0]語文,score[1]數學,score[2]歷史
floatave;
}stu[N];
voidinput(studentp[],intn)
{
inti;
for(i=0;i<n;i++)
{
scanf("%s%f%f%f",p[i].name,&p[i].score[0],&p[i].score[1],&p[i].score[2]);
}
}
voidperave(studentp[],intn)
{
inti;
for(i=0;i<n;i++)
p[i].ave=(p[i].score[0]+p[i].score[1]+p[i].score[2])/3.0;
}
voidehsbave(floatp[],studentq[],intn)//main()中p[]用於存儲單科均分p[KMS]
{
inti,j;
for(i=0;i<KMS;i++)
{
p[i]=0;
for(j=0;j<n;j++)
p[i]+=q[j].score[i];
p[i]/=n;
}
}
voidsearch(studentp[],intn,int*l1,int*l2)
{
intr,c;
*l1=0;*l2=0;
for(r=0;r<n;r++)
for(c=0;c<KMS;c++)
if(p[*l1].score[*l2]<p[r].score[c])
{
*l1=r;
*l2=c;
}
}
main()
{
floata[KMS];
intr,c,i,*p_r,*p_c;
charsubject[KMS][20]={"語文","數學","歷史"},pd='y';
p_r=&r;p_c=&c;
for(;pd=='y';)
{
printf("輸入%d名學生的姓名,語文,數學,歷史成績 ",N);
input(stu,N);
perave(stu,N);
ehsbave(a,stu,N);
search(stu,N,p_r,p_c);
printf("姓名 平均成績 ");
for(i=0;i<N;i++)
printf("%s %.2f ",stu[i].name,stu[i].ave);
printf("科目 平均成績 ");
for(i=0;i<KMS;i++)
printf("%s %.2f ",subject[i],a[i]);
printf("單科最高: 姓名 科目 分數 %s %s %.2f ",stu[r].name,subject[c],stu[r].score[c]);
printf("是否繼續(y/n)? ");
getchar();
pd=getchar();
}
}
4. c語言程序框圖
#include <stdio.h>
int main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
puts("yes");
else
puts("no");
return 0;
}
5. 求C語言流程圖(程序如下)
/*找9張牌給card*/
for (deckp = 0; deckp < size; deckp++)
{
div_t card = div(deck[deckp], SUITSIZE);
cards[deckp].val = "A23456789TJQK"[card.rem]; /*把余數給card.val*/
cards[deckp].kind = "3456"[card.quot]; /*把商給card.kind*/
}
}
/*show的原代碼,將會自動換行*/
void show(const Card *cards, int size)
{
for(int i = 0; i < size; i++)
{
printf("%c%c ",cards[i].kind,cards[i].val);
if( (i !=0) && (((i+1 ) % 3) == 0))
puts("");
}
puts(""); /*自動換行*/
}
/*grouping 的原代碼*/
void grouping(const Card *cards, Card *carr1, Card *carr2, Card *carr3)
{
int i = 0;/*循環參數*/
/*分給carr1三個數*/
while (i < 3)
{
carr1[i].val = cards[i].val;
carr1[i].kind = cards[i].kind;
i++;
}
/*分給carr2接下來的三個數*/
while (i < 6)
{
carr2[i-3].val = cards[i].val;
carr2[i-3].kind = cards[i].kind;
i++;
}
/*分給carr3接下來的三個數*/
while (i < 9)
{
carr3[i-6].val = cards[i].val;
carr3[i-6].kind = cards[i].kind;
i++;
}
}
/*rshift的實現*/
void rshift(Card *carr1, Card *carr2, Card *carr3, int counter)
{
Card temp2;/*用於存放carr2[counter]*/
Card temp3;/*用於存放carr3[counter]*/
/*temp = carr2*/
temp2.val = carr2[counter].val;
temp2.kind = carr2[counter].kind;
/*carr2 = carr1*/
carr2[counter].val = carr1[counter].val;
carr2[counter].kind = carr1[counter].kind;
/*temp3 = carr3*/
temp3.val = carr3[counter].val;
temp3.kind = carr3[counter].kind;
/*carr3 = carr2*/
carr3[counter].val = temp2.val;
carr3[counter].kind = temp2.kind;
/*carr1 = carr3*/
carr1[counter].val = temp3.val;
carr1[counter].kind = temp3.kind;
}
Card* result_process(Card *carr1, Card *carr2, Card *carr3, int counter)
{
rshift(carr1, carr2, carr3, counter); /* 把數組的第一個元素依次右移*/
if(counter == 2)
{
return(&carr2[2]);
}
show(carr1, 3);
show(carr2, 3);
show(carr3, 3);
puts("請給出你記住的牌所在行數:");
fflush(stdin);
int input = 1;
input = getchar(); /*獲取你選的組*/
switch(input)
{
case '1':
return(result_process(carr1, carr2, carr3, ++counter));
break;
case '2':
return(&carr2[counter]);
break;
default:
puts("你在撒謊!不和你玩了!");
return NULL;
}
}
6. C語言程序流程圖怎麼畫
我就個人的經驗來談一下吧:如果你是會編程序而不會畫流程圖的這種我建議你應該先把自己的程序研究一遍倘若是畫主程序流程圖的話那就只需看懂主函數的...
7. C語言,畫出流程圖
所謂的程序流程圖,說得通俗一點就是編寫程序前的思路。如果你的程序既然已經都夠正確編寫出來、且能夠運行出正確的結果,那麼你再把你的編程序的過程寫成流程圖即可。
8. C語言程序流程圖
簡單地來說流程圖就是使用圖形表示演算法的思路的一種極好的方法,因為千言萬語不如一張圖。
主要由順序結構,分支結構(又稱選擇結構),循環結構構成。
建議去看一看譚浩強編寫的c程序設計,裡面有一個章節專門講這個的,簡單易懂,相信你能在短時間內就掌握這種表示方法的。
9. C語言簡單編程 流程圖
#include<stdio.h>int a(int w){ int t; if(k==1)t=w; if(as=1)k++; if(t==1||b(w)==1)return 0; else return 1;}int b(int w){int t;if(k==1)t=w;if(bs==1)k++;if(t==2||c(w)==1)return 0;else return 1;}int c(int t){if(k==1)t=w;if(cs==1)k++;if(t==3||(a(w)==1&&b(w)==1))return 0else return 1}void main(){int k;k=0;as=1;if(a(1)==1)printf("A tells lie.");else if(a(1)==0)printf("A tells true.");k=0;bs=1;as=0;if(b(2)==1)printf("A tells lie.");else if(b(2)==0)printf("A tells true.");k=0;bs=0;as=0;cs=1;if(c(3)==1)printf("A tells lie.");else if(c(3)==0)printf("A tells true.");} 以上是程序,我沒編譯過。大概流程是:設張三為A,李四為B,王五為C假定A說真話,調用a(1),遞歸調用一周,通過第二次調用賦值a(1)=1求出第一次調用a(1)的返回值,若a(1)==0則為說假話。同理,判斷B為b(2),判斷C為c(3)
10. 編寫C語言程序流程圖
樓主,我附上程序還有流程圖
#include<stdio.h>
intmain()
{
inta[10]={0,1,2,3,4,5,6,7,8,9};
intb[10];
intn,i,j;
for(i=0;i<10;i++)
{
printf("%d",a[i]);
}
printf(" ");
printf("請輸入調換開始的位置: ");
scanf("%d",&n);
for(i=n,j=0;i<10;i++,j++)
{
b[i]=a[j];
b[j]=a[i];
}
for(i=0;i<10;i++)
{
printf("%d",b[i]);
}
printf(" ");
return0;
}