输入4个人名,按拼音顺序输出(冒泡排序)&&输入一个整数,输出该数的所有因子&&输入两个数,输出它的最小公倍数和最大公约数&&输出1000以内的所有素数,每行5个&&输出n行的菱形,n为奇数.....
2020-02-13 02:47
609 查看
题一:
输入4个人名,按拼音顺序输出(冒泡排序):
#include<stdio.h> #include<string.h> int main() { char str[4][20] = {0}; char temp[20] = {0}; printf("请输入四个名字:\n"); for(int i = 0;i < 4;i++) { scanf("%s",str[i]); } for(int i = 0;i<4 - 1;i++) { for(int j = 0;j < 4-1-i;j++) { if(strcmp(str[j],str[j+1]) > 0) { strcpy(temp,str[j]); strcpy(str[j],str[j+1]); strcpy(str[j+1],temp); } } } for(int i = 0;i < 4;i++) { printf("第%d位是%s\n",i,str[i]); } return 0; }
题二:
输入一个整数,输出该数的所有因子
#include <stdio.h> #include <math.h> int main() { int num; printf("输入一个整数:"); scanf("%d", &num); for(int i = 1; i*i <= num; i++) { if(! (num % i)) { if((i*i) != num) { printf(" %d %d",i,num / i); }else { printf("%d ",i); } } } return 0; }
题三:
输入两个数,输出它的最小公倍数和最大公约数
#include <stdio.h> int main() { int num1, num2, temp, divisor, multiple; printf("输入两个整数:"); scanf("%d %d", &num1, &num2); temp = num1 > num2 ? num2 : num1; for(int i = temp ; i > 0; i--) { if((num1 % i == 0) && (num2 % i== 0)) { divisor = i; break; } } multiple=(num1 * num2)/divisor; printf("最大公约数=%d \n最小公倍数=%d\n",divisor,multiple); return 0; }
题四:
输出1000以内的所有素数,每行5个
#include <stdio.h> int main() { int t = 0; for(int i = 2; i <= 1000; i++) { for(int j = 2; j <= i; j++) { if(i % j == 0) { if(i == j) { t++; printf("%d ", i); if(t % 5 == 0) printf("\n"); }else break; } } } return 0; }
题五:
输出n行的菱形图案,n为奇数
#include<stdio.h> int main() { int n; printf("输入n(n为奇数)="); scanf("%d",&n); for(int i = 0;i <= n / 2; i++) { int a = i + 1; for(int j = 0; j < (n / 2) - i; j++) { printf(" "); } for(int k = 0; k <2 * a - 1; k++) { printf("*"); } printf("\n"); } for(int i = n / 2 - 1; i >= 0; i--) { int a = i + 1; for(int j = 0;j < (n / 2) - i; j++) { printf(" "); } for(int k = 0; k < 2 * a - 1; k++) { printf("*"); } printf("\n"); } return 0; }
题六:
输入一行英文句子,统计有多少单词
#include<stdio.h> int main() { int count = 0; char s[1000]; printf("输入一句英文句子:"); gets(s); char before=' '; for(int i = 0;s[i] != '\0'; i++) { char current = s[i]; if(before == ' ' && current != ' ') { count++; } before = current; } printf("单词个数为%d", count); return 0; }
题七:
删除数组元素(自定义函数)
#include<stdio.h> int deleteArrayElement(int *a,int length,int i); int main() { int i,length; int a[20]; printf("请输入数组长度:\n"); scanf("%d",&length); printf("请输入%d整数",length); for(int j = 0;j < length;j++) { scanf("%d",&a[j]); } printf("请输入需要删除的元素的位置\n"); scanf("%d",&i); deleteArrayElement(a,length,i); for(int j = 0;j<length-1;j++) { printf("%d",a[j]); } return 0; } int deleteArrayElement(int *a,int length,int i) { for(int j = i;j < length;j++) { a[j-1] = a[j]; } length = length - 1; }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 最大公约数和最小公倍数 输入两个正整数m和n,求其最大公约数和最小公倍数 输入 34 8 输出 2 136
- 从键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出。
- 1.写一个函数返回参数二进制中 1 的个数;2..获取一个数二进制序列中所有的偶数位和奇数位;3. 输出一个整数的每一位;4.两个int整数的二进制表达中,有多少个位不同
- 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入m和n两个正整数,求其最大公约数和最小公倍数
- 12.输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 调整数组使奇数全部都位于偶数前面。 题目: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序使得 所有奇数位于数组的前半部分,所有偶数位于数组后半部分
- 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于偶数前面
- 关于输入两个值后输出最大公约数和最小公倍数
- 输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
- C语言实例—输入两个正整数m和n,求其最大公约数和最小公倍数(gcc 编译)。
- Java中循环问题:for,while,do-while 各种练习(打印上三角、下三角、输出100以内的素数、水仙花、最大公约、最小公倍数、分解质因数、兔子问题)
- 1.将数组A中的内容和数组B中的内容进行交换。(数组一样大) 2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。 3.将三个数按从大到小输出。 4.求两个数的最大公约数。
- 55.输入两个正整数m和n,求其最大公约数和最小公倍数
- 使用三种算法解决从键盘输入两个整数,输出两个整数的最大公约数的问题
- 从键盘输入两个正整数,求它们的最大公约数和最小公倍数
- 调整数组使奇数全部都位于偶数前面。 题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
- 【程序16】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数