标签:efi 字母 c程序设计 输出 学习 整型 自己 实验代码 注意
7.3.1.1、写一个函数,对用随机的函数产生的10个整数按从小到大的顺序排序(升序,用冒泡排序法实现)
7.3.1.2、写一个函数,对随机产生的10个整数按从小到大的顺序排序(升序,用选择排序法实现)
7.3.2.1、输出指定行数的杨辉三角
7.3.2.2、给定某年某月某日,将其装换成这一年的第几天并输出
7.3.3.、编写程序,判断某一字符串是不是“回文数”,回文数是从左至右或者从右至左读起来都是一样的字符串
1、定义一个一维整型数组,其大小为10,即它能存放10个数据
2、使用循环语句,利用随机函数产生10个整数存放在数组中。
3、编写排序函数sort1()
4、使用循环语句,将排好序的10个数依次输出
5、将数组定义为全局数组或局部数组
6、在主函数中,用随机函数生成10个元素放入数组中
7、将sort(1)函数部分放入主函数中
1、定义一个一维整型数组,其大小为10,即它能存放10个数据
2、使用循环语句,利用随机函数产生10个整数存放在数组中。
3、编写排序函数sort1
4、使用循环语句,将排好序的10个数依次输出
5、将数组定义为全局数组或局部数组
6、在主函数中,用随机函数生成10个元素放入数组中
7、将sort1函数部分放入主函数中
1、怎样定义和使用二维数组
2、怎样用循环进行二维数组中值的计算
3、使用循环依次输出二维数组中的元素(注意换行)
4、用if语句根据条件判断某个字符是否是大写字母
1、使用scanf()函数输入年、月、日
2、使用一个二维数组存放闰年和非闰年的每个月的天数
3、使用逻辑表达式判断某年是否是闰年
4、使用变量day对前几个月的天数进行累加
5、在强化练习中,学生将练习不使用二维数组存放每个月的天数
6、使用if语句对年、月、日的正确性进行验证
7、将存放每个月的天数的二维数组说明为局部数组
1、用scanf()函数,从键盘输入一个字符串存入字符数组中
2、求出该字符串的长度
3、用for循环依次比较,循环的终值为长度的一半
4、设置一个标志符ch,初值为‘Y’,若某字符对不相等,将其设置为‘N’
5、根据ch是‘Y’还是‘N’,输出该字符串是否是回文数
6、强化练习中不使用strlen()求出字符串的长度
7、将求回文数的部分独立出来,编成一个函数
编写程序,利用随机函数产生10个随机数,按升序排列输出。
实验代码:
#include"stdio.h" #include"stdlib.h" #include"time.h" sort(int s[],int n) { int i,j,temp; for(i=0;i<n-1;i++) for(j=9;j>=i+1;j--) if(s[j]<s[j-1]) { temp=s[j]; s[j]=s[j-1]; s[j-1]=temp; } } main() { int i,a[10]; srand(time(NULL)); printf("随机产生10个整数:\n"); for(i=0;i<10;i++) a[i]=rand()%100; for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); sort(a,i); printf("输出排序后的10个整数\n"); for(i=0;i<10;i++) printf("%d ",a[i]); }
运行结果:
问题分析:忘记了随即产生数字的代码,然后尝试了用scanf,发现太麻烦,还在函数的调用出现问题,自己想着用k=sort(a,i),来表示,但是结果一直错误,后发现这是赋值给k,结果与想要的不同,导致运行不了。
编写函数,利用随机函数产生10个随机数,按升序排列输出.
代码:
#include"stdio.h" #include"stdlib.h" #include"time.h" sort(int s[],int n) { int i,j,k,temp; for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<=n-1;j++) { if(s[j]<s[k]) k=j; } if(k!=i) { temp=s[k]; s[k]=s[i]; s[i]=temp; } } } main() { int i,a[10]; srand(time(NULL)); printf("随机产生10个整数:\n"); for(i=0;i<10;i++) a[i]=rand()%100; for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); sort(a,i); printf("输出排序后的10个整数\n"); for(i=0;i<10;i++) printf("%d ",a[i]); }
运行结果:
问题分析:这个函数跟上一个大致相同,不同点在于他们二个的排序方式不同。
编写程序,从键盘输入行数,输出指定行数的杨辉三角形。
代码:
#include<stdio.h>
main()
{
int a[50][50],i,j,n;
printf("请输入行数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a[i][i]=1;
a[i][1]=1;
}
for(i=3;i<=n;i++)
for(j=2;j<=i-1;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("%2d ",a[i][j]);
printf("\n");
}
}
运行结果:
问题分析:不知道输出怎么打,直接打printf,得到1965554,后来才知道数组作为一组数据,然后输出要用for循环。
编写程序,从键盘分别输入年,月,日。计算出该天是这年中的第几天。
代码为:
#include"stdio.h" int day_tab[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31}}; day_year(int day,int month,int year) { int i,j,s=0; if(year%4==0&&year%100!=0||year%400==0) i=1; else i=0; for(j=1;j<month;j++) s=s+day_tab[i][j]; return s+day; } main() { int y,m,d; printf("请输入年月日:\n"); scanf("%d%d%d",&y,&m,&d); printf("%d\n",day_year(d,m,y)); }
运行结果:
问题分析:无
编写 程序,从键盘输入一个字符串,判断其是否为回文数。
代码为:
#include<stdio.h> #include<string.h> #define N 40 main() { char str[N],ch=‘Y‘; int i; int len; printf("In put a string:"); scanf("%s",&str); len=strlen(str);/*求字符串长度*/ for(i=0;i<=len/2;i++)/*for循环语句头部,终值为len/2*/ if(str[i]!=str[len-1-i]) { ch=‘N‘;/*将标志ch设置为‘N’*/ break;/*退出循环*/ } if(ch==‘Y‘)/*if语句,当标志ch为‘Y’时*/ printf("%s是一个回文数\n",str); else printf("%s不是一个回文数\n",str); }
运行结果:
问题分析:要了解到回文的关键,所以问题的关键在于i<=len/2。
1、让我学习到了随机产生数的代码,要运用
srand(time(NULL)):
rand()%100 100表示的是100以内产生数字,数字的个数可以用for循环掌控
2、数组的掌握不够深刻,要去多多实验,多多尝试。
标签:efi 字母 c程序设计 输出 学习 整型 自己 实验代码 注意
原文地址:https://www.cnblogs.com/1820678379wzy/p/10964894.html