1.掌握一维和多维数组的定义和数组元素的引用方法。 2.了解一维和多维数组初始化的方法。 3.学习一维和多维数组的基本算法。 4.掌握字符数组的定义、初始化方法及其元素的引用方法。 5.掌握C语言提供的对字符串进行处理的基本库函数。
1 1.问题描述 编写程序,利用随机函数产生10个整数,并按升序排列输出。 2.实验代码
#include<stdio.h> #include"stdlib.h" #include"time.h" void sort1(int s[ ], int n) { int i,j; int 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];//n=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"); } sort1(a,10); printf("输出后的结果:"); for(i=1;i<10;i++) printf("%d ",a[i]); }
2
1.问题描述:
输出指定行数的杨辉三角。
2.实验代码:
#include<stdio.h> main() { int a[50][50],i,j,n; printf("请输入杨辉三角形的行数:\n"); 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("%5d",a[i][j]); } printf("\n"); } }
3 1.问题描述 输入年月日,计算该天是这年的第几天。 2.实验代码:
#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}}; int day_year(int year,int month,int day) { int i,j,s=0; i=(year%4==0)&&(year%100!=0)||(year%400==0); for(j=1;j<month;j++) s+=day_tab[i][j]; s=s+day; return s; } main() { int y,m,d; printf("Please input value of year month day:\n"); scanf("%d%d%d",&y,&m,&d); printf("是这一年的第%d天,\n",day_year(y,m,d)); }
4 1.问题描述: 判断回文数。 2.实验代码:
#include<stdio.h> #include<string.h> #define N 40 main() { char str[N],ch='Y'; int i; int len; printf("Please input a string\n"); scanf("%s",&str); len=strlen(str); for(i=0;i<len/2;i++) if(str[i]!=str[len-i-1]) { ch='N'; break; } if(ch=='Y') printf("%s是一个回文数\n",str); else printf("%s不是一个回文数\n",str); }
感觉到C语言的一点复杂性了,不过认真学,多打还是可以搞清楚的。要牢记冒泡数列的代码运用,以后可以常用上。