freecplus04:C语言的数组
1)编写示例程序,从界面上输入一个字符串,计算字符串的长度。如果输入的是"abcdaaf",显示的结果是7。
2)编写示例程序,从界面上输入一个字符串,把字符串的每个字符从左到右一个一个的显示出来,如果输入的是"abcdaaf",显示的结果是:a b c d a a f。
3)编写示例程序,从界面上输入一个字符串,把字符串的每个字符从右到左一个一个的显示出来,如果输入的是"abcdaaf",显示的结果是:f a a d c b a。
4)编写示例程序,某班有10个学生,定义一个一维数组,从界面上输入每个学生的成绩,最后显示这个班的平均成绩。
5)编写示例程序,某年级有两个班,每班有8名学生,定义一个二维数组,从界面上输入每个学生的成绩,最后显示每个班的平均成绩和年级的平均成绩。
6)编写示例程序,定义一个可以存放10个字符串的数组,字符串的有效长度是30个字符,从界面上输入10个字符串并存放在数组中,然后把这10个字符串显示出来。
以下题难难度较大,可以等到以后功力提升的时候再做。
7)如果还觉得不过隐,可以挑战一下三维数组,某学校有两个年级,每个年级有三个班,每个班有四名学生,从界面上输入每个学生的成绩,最后显示每个班的平均成绩、年级的平均成绩和全校的平均成绩。
示例1)
#include#include int main() { char str[100]; scanf("%s", str); printf("str len is: %zd", strlen(str)); return 0; }
2),3)
#include#include int main() { char str[200]; scanf("%s", str); int ii = 0; int len = strlen(str); for (ii = 0; ii < len; ii++) { printf("%c ", str[ii]); } printf("n"); for (len = len - 1; len >= 0; len--) { printf("%c ", str[len]); } printf("n"); return 0; }
4)
#includeint main() { int scores[10]; int ii = 0; int sum = 0; for (ii = 0; ii < 10; ii++) { printf("plz input %d student's score!", ii); scanf("%d",&scores[ii]); sum += scores[ii]; } printf("avg score is %dn", sum / 10); return 0; }
#includeint main() { int scores[2][8]; int ii = 0; int jj = 0; int sum1 = 0; int sum2 = 0; for (ii = 0; ii < 2; ii++) { printf("now plz input class %d students' scores!n", ii+1); sum1 = 0; for (jj = 0; jj < 8; jj++) { printf("plz input students %d' score:",jj+1); scanf("%d", &scores[ii][jj]); sum1 += scores[ii][jj]; } printf("class %d avg scores is: %dn",ii+1, sum1 / 8); sum2 += sum1; } printf("all students avg score is: %dn", sum2 / 16); return 0; }
#includeint main() { char strs[10][31]; int ii = 0; for (ii = 0; ii < 10; ii++) { printf("plz input string which length is 30n"); scanf("%s",strs[ii]); } for (ii = 0; ii < 10; ii++) { printf("str is %sn", strs[ii]); } return 0; }
#include#include int main() { int ii, jj, kk; double scores[2][3][4]; double classsum = 0; double gradesum = 0; double totalsum = 0; for (ii = 0; ii < 2; ii++) { gradesum = 0; for (jj = 0; jj < 3; jj++) { classsum = 0; for (kk = 0; kk < 4; kk++) { printf("请输入%d年级,%d班级,%d学生的分数:n", ii+1, jj+1, kk+1); scanf("%lf",&scores[ii][jj][kk]); classsum += scores[ii][jj][kk]; gradesum += scores[ii][jj][kk]; totalsum += scores[ii][jj][kk]; } printf("第%d年级,第%d班级,学生平均分数是:%lfn",ii + 1, jj+1, classsum / 4); } printf("第%d年级学生平均分数是:%lfn", ii + 1, gradesum / 12); } printf("all students avg scores is: %lf n", totalsum / 24); return 0; }



