Ⅰ C語言變成問題求解 題目如下 謝謝 寫出演算法說明(可以用流程圖表示)和程序清單
見過一個類似的猜數游戲,但是程序可能有問題,怎麼猜都是猜的太慢,別的沒什麼問題。
#include 「time.h「
#include 「stdlib.h「
#include 「stdio.h「
main()
{char c;
clock_t start,end;
time_t a,b;
double var;
int i,guess;
srand(time(NULL));
printf(「do you want to play it.(』y』 or 』n』) \n「);
loop:
while((c=getchar())==』y』)
{
i=rand()%100;
printf(「\nplease input number you guess:\n「);
start=clock();
a=time(NULL);
scanf(「%d「,&guess);
while(guess!=i)
{if(guess〉i)
{printf(「please input a little smaller.\n「);
scanf(「%d「,&guess);}
else
{printf(「please input a little bigger.\n「);
scanf(「%d「,&guess);}
}
end=clock();
b=time(NULL);
printf(「\1: It took you %6.3f seconds\n「,var=(double)(end-start)/18.2);
printf(「\1: it took you %6.3f seconds\n\n「,difftime(b,a));
if(var〈15)
printf(「\1\1 You are very clever! \1\1\n\n「);
else if(var〈25)
printf(「\1\1 you are normal! \1\1\n\n「);
else
printf(「\1\1 you are stupid! \1\1\n\n「);
printf(「\1\1 Congralations \1\1\n\n「);
printf(「The number you guess is %d「,i);
}
printf(「\ndo you want to try it again?(\「yy\「.or.\「n\「)\n「);
if((c=getch())==』y』)
goto loop;
}
Ⅱ 分析下面各問題,分別用自然語言和流程圖描述演算法。 1、有兩個杯子A和B,分別盛放水和酒,要求將它們互換
先拿出一個空瓶子,抄將酒倒入空瓶子,然後將水倒入原先裝酒的瓶子,最後將原本是空瓶子裡面的酒倒入原本裝水的瓶子,結束。手機無法發流程圖給你,我畫箭頭你自己看吧,開始>c=a>a=b>b=c>結束。這也就是將a,b的值互換了,多多思考,加油。c=a的意思是將a的值賦給c,你應該懂的吧,提醒一下...哈哈
Ⅲ 高考語文什麼時候出現流程圖題目
第三行 i+1-->i 是第一個循環的 為了輸入50個學生的學號和成績
第五行 1-->i 是第二個循環的 從第一個學生開始檢查他的成績是否大於等於80
Ⅳ 看題目,幫忙畫流程圖,分別用if語句和switch開關語句寫出程序。另外說說我該怎樣在黑板上講解所寫的程序
if語句的
void main()
{
double i;double s;
printf("input i=");
scanf("%lf",&i);
if(i<0)
printf("Invaid input.\n");
else if(i<=10)
s=i*0.1;
else if(i<=20)
s=1+(i-10)*0.075;
else if(i<=40)
s=1.75+(i-20)*0.05;
else if(i<=60)
s=2.75+(i-40)*0.03;
else if(i<=100)
s=3.35+(i-60)*0.015;
else
s=3.95+(i-100)*0.01;
printf("%.2f\n",s);
}
switch語句的
void main()
{
int i;double s;
printf("input i=");
scanf("%d",&i);
if(i<0)
printf("Invaid input!\n");
switch(i/10)
{
case 0: s=i*0.1;break;
case 1: s=1+(i-10)*0.075;break;
case 2:
case 3:s=1.75+(i-20)*0.05;break;
case 4:
case 5:s=2.75+(i-40)*0.03; break;
case 6:
case 7:
case 8:
case 9:s=3.35+(i-60)*0.015;break;
default:s=3.95+(i-100)*0.01;
}
printf("%f\n",s);
}
Ⅳ 用C語言編寫程序解決問題,並畫出相應的流程圖
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
FILE *f1,*f2;
char file1[20],file2[20],name[200][20],name1[15];
int n,m,data[200][10];
void init(){
int i,j;
char ch=' ';
printf("%20c歡迎使用班級成績管理系統\n\n",ch);
printf("請輸入輸入和輸出文件名(中間用一個空格隔開):\n");
scanf("%s %s",file1,file2);// 1)該條語句的功能是什麼?
f1=fopen(file1,"r");
f2=fopen(file2,"w");
fscanf(f1,"%d%d",&n,&m); // 2)該條語句的功能是什麼?
for(i=1;i<=n;i++)
{
fscanf(f1,"%s",name[i]); // 3)該條語句的功能是什麼?
data[i][0]=0; // 4)該條語句的功能是什麼?沒有這條語句可不可以?
for(j=1;j<=m;j++)
{
fscanf(f1,"%d",&data[i][j]);
data[i][0]+=data[i][j]; // 5)該條語句的功能是什麼?
}
}
fprintf(f2,"name\tyuwen\tshuxue\tyingyu\twuli\thuaxue\tzongfen\n ");
for(i=1;i<=n;i++)
{
fprintf(f2,"%s\t",name[i]);
for(j=1;j<=m;j++)
fprintf(f2,"%d\t",data[i][j]);
fprintf(f2,"%d\n",data[i][0]);
}
fclose(f1);// 6)問什麼可以在這關閉輸入文件?
fclose(f2);
}
void search(char na[],char num){
int i=1,j;
while((i<=n)&&(strcmp(na,name[i])!=0))i++;
if(i<=n){
switch(num){
case '1':printf("%s的語文成績為%d!\n",na,data[i][1]);break;
case '2':printf("%s的數學成績為%d!\n",na,data[i][2]);break;
case '3':printf("%s的英語成績為%d!\n",na,data[i][3]);break;
case '4':printf("%s的物理成績為%d!\n",na,data[i][4]);break;
case '5':printf("%s的化學成績為%d!\n",na,data[i][5]);break;
case 'a':
printf("%s的各科成績為:\n",name[i]);
printf("語文\t數學\t英語\t物理\t化學\t總成績\n");
for(j=1;j<=m;j++)
printf("%d\t",data[i][j]);
printf("%d\n",data[i][0]);
break;
default: printf("沒有這種查詢方式,請確認後再次輸入!\n");
}
}
else printf("查無此人,請確認後再次查詢!\n");
printf("\n\n");
}
main(){
init();//數據初始化
printf("數據初始化結束!\n\n");
printf("------------------------------------------------\n\n");
char na[20];
char num;
while(1){ // 7)該條語句的功能是什麼?
//scanf("%s%c%c",na,&num,&num); // 8)此處的輸入可不可以用這條語句?
printf("請輸入學生的姓名和要查詢成績的科目代碼(中間用一個空格隔開):\n(1 語文 2 數學 3 英語 4 物理 5 化學 a 所有科目成績 q 退出)\n");
scanf("%s",na);
if(strcmp(na,"q")==0)break; // 9)問什麼要用這條語句strcmp(na,"q")==0?
scanf("%c%c",&num,&num); // 10)為什麼用了兩次&num?
search(na,num);
printf("------------------------------------------------\n\n");
printf("\n請輸入新的查詢:\n\n");
}
system("pause");
}
稍改一下就行了!
Ⅵ 急需一個小學語文教學的流程圖!小學語文哪一課都可以!
一是導入新課
二是教學過程分為1.自由讀課文 指名讀2.學習生字新詞3.再讀課文了解版課文主要內容4.體會文權章的重點句子意思和思想感情5.課外延伸與課文有關的知識6.最後就是作業了
三是課堂小結
四是板書設計
五是教學反思
Ⅶ 用自然語言和流程圖表示求解下列各問題的演算法
用自然語言描述演算法:(1)輸入N;()將1送入I(I←1);(3)重復執行下面的操作,直至I=N;(4)將2送入K(K←2);(5)重復執行下面操作,直到K=I-1;A.將I除以K的商送入J(J←I/K);B.若J是整數,I增加1並轉向(3);C.否則將K增加1並轉向(5);(6)輸出I,I增加1並轉向(3);(7)結束。根據以上演算法,用QBASIC語言可編寫如下程序:10 INPUT N20 FOR I=1 TO N30 FOR K=2 TO I-140 J=I/K50 IF J=INT(J) THEN GOTO 8060 NEXT K70 PRINT I,80 NEXT I90 END程序中使用了GOTO無條件轉移語句,破壞了程序的結構。尋找另一思路:判斷一個自然數M是不是素數,可用2、3、4……去除M,如果這些數都不能整除M,則M是素數。用結構化流程圖N-S圖描述該演算法。INPUT NFOR M=1 TO N STEP 2 K=INT(SQR(M)) I=2 FLAG=1 DO WHILE (I<=K) AND (FLAG=1) IF M MOD I=0 THEN FLAG=0 I=I+1 LOOP IF FLAG=1 THEN PRINT M,NEXT MEND程序中FLAG是一個「標志變數」,FLAG=1表示M未被任何一個整數整除過。如果在某一次循環中,M能被一個整數I整除,則FLAG就置成0。設置FLAG變數的目的主要是為了避免轉移語句的出現。因為如果沒有設置FLAG變數,在循環執行中,某一次M能被I整除,則要麼繼續執行循環,直到內循環全部執行完畢,要麼用轉移語句直接跳出內循環。顯然,前者是毫無效率地浪費時間,而後者又不符合結構化程序設計的要求。
Ⅷ 請用C語言程序編程,並用傳統流程圖寫出每題的編程思路
http://..com/question/30261422.html
Ⅸ C語言問題:有函數調用的流程圖怎麼畫
1、以特定的圖形抄符號加上說明襲,表示演算法的圖,稱為流程圖或框圖。
注意事項:
流程圖是流經一個系統的信息流、觀點流或部件流的圖形代表。在企業中,流程圖主要用來說明某一過程。這種過程既可以是生產線上的工藝流程,也可以是完成一項任務必需的管理過程。