1 / 14

浙 江 广 播 电 视 大 学 计算机应用专业(开放专科)

浙 江 广 播 电 视 大 学 计算机应用专业(开放专科). 《 程序设计语言 》 作业 2 分析. 1. 编写一个程序,求一个整数序列的和。程序在 每次执行 scanf 函数时都只读取一个整数值 。假定用 scanf 函数读取的第一个整数值指定了还要键入的整数值的个数。例如,在下面的整数系列中,整数值 5 表示求其后的 5 个整数值的和。 5 100 200 300 400 500. 分析: 计数器控制的循环,由输入的第一个整数确定。 ( 应确保第一个数的合法性). (1) 保证第一个整数值的合法性。. int x,y,sum=0;

roth-mullen
Download Presentation

浙 江 广 播 电 视 大 学 计算机应用专业(开放专科)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 浙 江 广 播 电 视 大 学 计算机应用专业(开放专科) 《程序设计语言》作业2分析

  2. 1. 编写一个程序,求一个整数序列的和。程序在每次执行scanf函数时都只读取一个整数值。假定用scanf函数读取的第一个整数值指定了还要键入的整数值的个数。例如,在下面的整数系列中,整数值5表示求其后的5个整数值的和。1. 编写一个程序,求一个整数序列的和。程序在每次执行scanf函数时都只读取一个整数值。假定用scanf函数读取的第一个整数值指定了还要键入的整数值的个数。例如,在下面的整数系列中,整数值5表示求其后的5个整数值的和。 5 100 200 300 400 500 分析: 计数器控制的循环,由输入的第一个整数确定。(应确保第一个数的合法性)

  3. (1)保证第一个整数值的合法性。 int x,y,sum=0; scanf(“%d”,&x); while(x<=0) { printf(“invalid ! input again:\n”); scanf(“%d”,&x);}

  4. (2)输入x个数,求和并输出。 while(x-->0) { printf(“please input an integer:\n”); scanf(“%d”,&y); sum+=y; } printf(“sum is %d”, sum);

  5. 2. 编写一个程序,计算并打印出几个整数值的平均值。假定用scanf函数读取的最后一个整数值是标志值9999。例如,下面的整数系列表示要计算9999之前的所有整数的平均值。 100 200 300 400 500 9999 分析: 标记控制的循环,本例中标记为“9999”。

  6. main() {int x,sum=0, n=0; scanf(“%d”,&x); while(x!=9999) { sum+=x; n++; printf(“input an integer: 9999 to end\n”); scanf(“%d”,&x); } printf(“sum is %f\n”, (float)sum/n); }

  7. 3.计算机一个有趣的应用是绘制直方图。编写一个程序,读取5个在1到30之间的整数值。对每读取的一个值,程序打印出该值个数的连续的星号。例如,如果程序读取整数值7,则打印出*******.3.计算机一个有趣的应用是绘制直方图。编写一个程序,读取5个在1到30之间的整数值。对每读取的一个值,程序打印出该值个数的连续的星号。例如,如果程序读取整数值7,则打印出*******. 分析: 计数器控制的循环(读取5个、绘制连续的星号)。

  8. main() { int x; void printstar(int); for(x=5;x>0;x--) { scanf(“%d”,&x); printstar(x);} }

  9. void printstar(int n) { while(n>0) { printf(“*”); n--;} printf(“\n”); }

  10. 4. 某邮购处销售五种产品,零售价见下表(略),编写一个程序,读取如下一系列数据对: 1)产品型号 2)一天的销售量 用switch语句确定每种产品的零售价,计算并显示最近一周所销售的全部产品的零售价总和。 分析: 读取数据; 统计并输出。

  11. 分析: 读取数据 按天读取一系列数(循环),以某一标记值为某天销售信息输入结束标记(如:-1),每组的信息包括: 型号 ,销售量 共读取七天的数(循环)

  12. main() { int x,type,number; float sum=0; float cal_data(int,int); void print_day(int); for(x=1;x<8;x++) {print_day(x); printf(“input type,number(-1,-1 to end)\n”); scanf(“%d,%d”,&type,&number); while(!(type==-1&&number==-1)){ sum+=cal_data(type,number); printf(“input type,number(-1,-1 to end)\n”); scanf(“%d,%d”,&type,&number);} } printf(“total:%f”,sum);}

  13. void print_day(int x) { switch(x) {case 1: printf(“Monday:\n”);break; case 2: printf(“Tuesday:\n”);break; case 3: printf(“Wednesday:\n”);break; case 4: printf(“Thursday:\n”);break; case 5: printf(“Friday:\n”);break; case 6: printf(“Saturday:\n”);break; case 7: printf(“Sunday:\n”);break; default: printf(“wrong!\n”);break;} }

  14. float cal_data(int t ,int n) { float p; switch(t) { case 1: p=2.98;break; case 2: p=4.50;break; case 3: p=9.98;break; case 4: p=4.49;break; case 5: p=6.87;break; default:printf(“error type!\n”);return 0;} if(n<0){ printf(“error numer ! Input again:\1”); return 0;} else return p*n; }

More Related