您好,欢迎访问三七文档
//例7-1调查电视节目受欢迎程度。某电视台要调查观众对该台8个栏目(设相应栏目编号为1~8)的受欢迎情况,//共调查了1000位观众,现要求编写程序,输入每一位观众的投票情况(每位观众只能选择一个最喜欢的栏目投票),//统计输出各栏目的得票情况。#includestdio.hintmain(void){inta[9];inti,response;for(i=1;i=8;i++){a[i]=0;}for(i=1;i=10;i++){printf(输入你最喜欢的栏目编号:);scanf(%d,&response);if(response1||response8){printf(输入范围不合理!\n);i--;//输入范围不合理,可以重新输入,不计入输入次数}elsea[response]++;}for(i=1;i=8;i++){printf(%4d%4d\n,i,a[i]);}return0;}//例7-2利用数组计算斐波那契数列的前十个数,即1,1,2,3,5,……55,并按每行打印5个数的格式输出。#includestdio.hintmain(void){intfib[10]={1,1};inti;for(i=2;i10;i++){fib[i]=fib[i-1]+fib[i-2];}for(i=0;i10;i++){printf(%4d,fib[i]);if((i+1)%5==0){printf(\n);}}return0;}//例7-3顺序查找法。输入5个整数,将它们存入数组a中,再输入一个数x,然后在数组中查找x,如果找到,输出相应的最小下标,否则,输出“NotFound”。#includestdio.hintmain(){inti,x,flag;inta[5];printf(输入5个整数:);for(i=0;i5;i++){scanf(%d,&a[i]);}printf(输入一个数x:);scanf(%d,&x);flag=0;for(i=0;i5;i++){if(x==a[i]){printf(%d\n,i);flag=1;break;}}if(flag==0)printf(NotFound!\n);return0;}//例7-4输入一个正整数n(1n=10),再输入n个整数,将它们存入数组a中。//@1.输出最小值和它所对应的下标;//@2.将最小值与第一个数交换,输出交换后的n个数。#includestdio.hintmain(void){inti,n,index,min,t;inta[10];printf(输入一个正整数n:);scanf(%d,&n);printf(输入%d个整数:,n);for(i=0;in;i++){scanf(%d,&a[i]);}min=a[0];index=0;for(i=1;in;i++){if(mina[i]){min=a[i];index=i;}}printf(最小值为%d,对应的下标为%d\n,min,index);t=a[index];a[index]=a[0];a[0]=t;for(i=0;in;i++){printf(%4d,a[i]);}printf(\n);return0;}//例7-5选择排序法。输入一个正整数n(1n=10),再输入n个整数,用选择法将它们从小到大排序后输出。*******//思路:第一步:在未排序的n个数(a[0]~a[n-1])中找到最小数,将它与a[0]交换;//第二步:在剩下未排序的n-1个数(a[1]~a[n-1])中找到最小数,将它与a[1]交换;//.........//第n-1步:在剩下未排序的2个数(a[n-2]~a[n-1])中找到最小数,将它与a[n-2]交换;#includestdio.hintmain(){intn,i,k,temp,index;inta[10];printf(输入一个正整数n:);scanf(%d,&n);printf(输入%d个整数,n);for(i=0;in;i++){scanf(%d,&a[i]);}////for(k=0;kn-1;k++){index=k;for(i=k+1;in;i++){if(a[index]a[i]){index=i;}}temp=a[index];a[index]=a[k];a[k]=temp;}printf(排序后:\n);for(i=0;in;i++){printf(%4d,a[i]);}return0;}
本文标题:C语言习题
链接地址:https://www.777doc.com/doc-5313394 .html