C语言程序设计题 30
1.在主函数中输入3个整数x1,x2,x3,然后编写一个函数,比较3个数的大小,最后在主函数中按从小到大的顺序输出.(要求x1存放最小的,x3存放最大的数)2.实现实验3...
1.在主函数中输入3个整数x1,x2,x3,然后编写一个函数,比较3个数的大小,
最后在主函数中按从小到大的顺序输出.(要求x1存放最小的,x3存放最大的数)
2.实现实验3中的第3小题(本小题不要求编写自定义函数)
在一个有序的9个整数中,插入输入的一个数。
如:数组为 6 17 28 35 43 56 78 89 90
插入 61后变为
6 17 28 35 43 56 61 78 89 90
3.实现实验6中的第1小题:
在主函数中键盘输入一行小写英文字母,然后编写一个函数来实现以下功能:
(1)统计其中有多少种不同的字母;
(2)统计每种字母出现的次数。
最后在主函数中打印结果。
(要用指针方法实现) 有没哪个高手来救救无助的我 展开
最后在主函数中按从小到大的顺序输出.(要求x1存放最小的,x3存放最大的数)
2.实现实验3中的第3小题(本小题不要求编写自定义函数)
在一个有序的9个整数中,插入输入的一个数。
如:数组为 6 17 28 35 43 56 78 89 90
插入 61后变为
6 17 28 35 43 56 61 78 89 90
3.实现实验6中的第1小题:
在主函数中键盘输入一行小写英文字母,然后编写一个函数来实现以下功能:
(1)统计其中有多少种不同的字母;
(2)统计每种字母出现的次数。
最后在主函数中打印结果。
(要用指针方法实现) 有没哪个高手来救救无助的我 展开
2个回答
展开全部
#include <stdio.h>
#include <string.h>
#include <windows.h>
void insert2ordered_list(int num, int *arr, int arr_lenth)
{
int *ptr = arr;
int i = 1;
while(num > *ptr)
{
if(i > arr_lenth)
{
break;
}
ptr++;
i++;
}
/*最后面的那个值肯定要覆盖掉了,就是因为数组的固定的长度*/
memmove(&ptr[i - 1], &ptr[i], arr_lenth - i);
}
void statistic_alphabets()
{
char arr[1000] = {0};
int kinds_num[26] = {0};
int times = 0;
int offset = 'a';
char *ptr;
printf("pls key in a string with small-letter\n==:");
gets(arr);
ptr = arr;
for(int i = 0; i < strlen(arr); i++)
{
if(*ptr >= 'a' && *ptr <= 'z')/*确保是小写字母*/
{
kinds_num[*ptr - offset]++;
}
ptr++;
}
ptr = (char*)kinds_num;
for(int j = 0; j <= 25; j++)
{
if(*((int*)ptr) >= 0)
{
printf("字母 %c出现 %d次\n", char(j+offset), *((int*)ptr));
}
ptr = ptr + 4;
}
}
void main()
{
int x1,x2,x3;
printf("pls key in 3 interger, div with blank-space\n===>:");
scanf("%d", &x1);
scanf("%d", &x2);
scanf("%d", &x3);
if(x1 >= x2)
{
/*交换x1和x2使得x1 < x2*/
x1 = x1 + x2;
x2 = x1 - x2;
x1 = x1 - x2;
}
if(x2 >= x3)
{
/*交换x2和x3使得x2 < x3*/
x2 = x2 + x3;
x3 = x2 - x3;
x2 = x2 - x3;
}
/*再来一下确保顺序*/
if(x1 >= x2)
{
/*交换x1和x2使得x1 < x2*/
x1 = x1 + x2;
x2 = x1 - x2;
x1 = x1 - x2;
}
printf("x1 = %d\nx2 = %d\nx3 = %d\n", x1,x2,x3);
}
#include <string.h>
#include <windows.h>
void insert2ordered_list(int num, int *arr, int arr_lenth)
{
int *ptr = arr;
int i = 1;
while(num > *ptr)
{
if(i > arr_lenth)
{
break;
}
ptr++;
i++;
}
/*最后面的那个值肯定要覆盖掉了,就是因为数组的固定的长度*/
memmove(&ptr[i - 1], &ptr[i], arr_lenth - i);
}
void statistic_alphabets()
{
char arr[1000] = {0};
int kinds_num[26] = {0};
int times = 0;
int offset = 'a';
char *ptr;
printf("pls key in a string with small-letter\n==:");
gets(arr);
ptr = arr;
for(int i = 0; i < strlen(arr); i++)
{
if(*ptr >= 'a' && *ptr <= 'z')/*确保是小写字母*/
{
kinds_num[*ptr - offset]++;
}
ptr++;
}
ptr = (char*)kinds_num;
for(int j = 0; j <= 25; j++)
{
if(*((int*)ptr) >= 0)
{
printf("字母 %c出现 %d次\n", char(j+offset), *((int*)ptr));
}
ptr = ptr + 4;
}
}
void main()
{
int x1,x2,x3;
printf("pls key in 3 interger, div with blank-space\n===>:");
scanf("%d", &x1);
scanf("%d", &x2);
scanf("%d", &x3);
if(x1 >= x2)
{
/*交换x1和x2使得x1 < x2*/
x1 = x1 + x2;
x2 = x1 - x2;
x1 = x1 - x2;
}
if(x2 >= x3)
{
/*交换x2和x3使得x2 < x3*/
x2 = x2 + x3;
x3 = x2 - x3;
x2 = x2 - x3;
}
/*再来一下确保顺序*/
if(x1 >= x2)
{
/*交换x1和x2使得x1 < x2*/
x1 = x1 + x2;
x2 = x1 - x2;
x1 = x1 - x2;
}
printf("x1 = %d\nx2 = %d\nx3 = %d\n", x1,x2,x3);
}
参考资料: 肯定没有问题
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |