C/C++编程练习题 (31-40)
- 31. 编一程序,输入一行字符串,统计其中的小写英文字母的个数
- 32. 编一程序,输入一行字符串,将其中的大写英文字母改为小写,再输出
- 33. 打印杨辉三角形(帕斯卡三角形),打印10行
- 34. 打印一个九九乘法表
- 35. 掷骰子10000次,统计得到各点数的次数
- 36. 编写函数distance,计算两点(x1,y1)和(x2,y2)之间的距离
- 37. 写一个程序,进行体操评分,依次输入10名评委所评分数,去除一个最高分和一个最低分,再算出平均分作为选手的得分
- 38. 写一函数,将一数组中的元素反转
- 39. 写一函数,在一个数组中找出最大元素的位置
- 40. 找出一个二维数组中的鞍点,即该元素在该行上最大,在该列上最小
使用C/C++两种语言完成50道题目,体会两种语言之间的不同。编译环境都是在VS2019,完成时间2020.06.21-2020.06.22 。由于C++ 对C的兼容性,部分main()函数没有写return 0 也可以执行成功,但是不提倡,最好加上,否则其他编译器可能报错。C语言不需要严格对齐,因此不对优快云 的格式做过多的纠正。
31. 编一程序,输入一行字符串,统计其中的小写英文字母的个数
C
#include<stdio.h>
int main()
{
char st[100];
printf("请输入字符串:");
scanf_s("%s", st, 100);
int i = 0, num = 0;
while (st[i] != '\0')
{
if (st[i] >= 'a' and st[i] <= 'z')
num=num+1;
i++;
}
printf("%d",num);
}
C++
#include<iostream>
using namespace std;
int main()
{
char s[100];
cin.getline(s,100);
int i = 0, num = 0;
while (s[i]!='\0')
{
if (s[i] >= 'a' and s[i] <= 'z')
num++;
i++;
}
cout << num;
}
32. 编一程序,输入一行字符串,将其中的大写英文字母改为小写,再输出
C
#include<stdio.h>
int main()
{
char s[100];
scanf_s("%s", s, 100);
int i = 0, num = 0;
while (s[i] != '\0')
{
if (s[i] >= 'A' and s[i] <= 'Z')
s[i] += 32;
i++;
}
i = 0;
while (s[i]!='\0')
{
printf("%c", s[i]);
i++;
}
}
C++
#include<iostream>
using namespace std;
int main()
{
char s[100];
cin.getline(s, 100);
int i = 0, num = 0;
while (s[i] != '\0')
{
if (s[i] >= 'A' and s[i] <= 'Z')
s[i]+=32;
i++;
}
cout << s<<endl;
}
33. 打印杨辉三角形(帕斯卡三角形),打印10行
C
#include<stdio.h>
int main()
{
int a[10][10] = {
0 };
for (int i = 0; i < 10; i++)
{
a[i][0] = 1;
a[i][i] = 1;
}
for (int i = 1; i < 10; i++)
for (int j = 1; j < i; j++)
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
for (int i = 0; i < 10; i++)
{
for (int j = 0; j <= i; j<