哈工大 C语言程序设计精髓 MOOC慕课 6-12周编程题答案 下载本文

内容发布更新时间 : 2024/5/19 1:58:58星期一 下面是文章的全部内容请认真阅读。

程序运行结果示例1: Input a string: 2344455555↙ 5:5

程序运行结果示例2: Input a string: sgf222257↙ 2:4

输入提示信息:\输入格式: 用gets()输入字符串 输出格式:\*/

#include #include

int main() {

char a[80];

int b, i,j,t=1,tl,num=0; printf(\

gets(a);

for (i=0;i

for (j=i+1;j

if (t>tl){ tl=t; num=i; } } }

printf(\}\ 10.1 \/*

从键盘输入一串字符(假设字符数少于8个),以回车表示输入结束,编程将其中的数字部分转换为整型数并以整型的形式输出。 函数原型为 int Myatoi(char str[]);

其中,形参数组str[]对应用户输入的字符串,函数返回值为转换后的整型数。

解题思路的关键是:1)判断字符串中的字符是否是数字字符;2)如何将数字字符转换为其对应的数字值;3)如何将每一个转换后的数字值加起来形成一个整型数。 程序运行结果示例1: Input a string:7hg09y↙ 709

程序运行结果示例2: Input a string:9w2k7m0↙ 9270

程序运行结果示例3: Input a string:happy↙ 0

输入提示信息:\输入格式: \输出格式:\*/

#include #include #include int Myatoi(char str[]){ int i,j;

for (i=0,j=0;str[i]!='\\0';i++){

if (str[i] >='0' && str[i]<='9'){ str[j]=str[i]; j++; } } str[j]='\\0'; return atoi(str); } int main() {

char s[7]; printf(\scanf(\printf(\ printf(\ return 0;

}\

10.2 \/*输入n个整数(n从键盘输入,假设n的值不超过100),按奇偶数分成两组并输出。输出两行,第一行为所有奇数,第二行为所有偶数,保持数据的相对顺序与输入顺序相同。 函数原型如下所示:

void Seperate(int a[], int n); //数组a[]存放用户输入的n个整数

解题思路:用两个循环分别输出奇数和偶数,在输出第一个数时用\格式字符,在输出其余数时用\格式字符,用标志变量记录和判断是否是第一个奇数或偶数。 程序运行结果示例1: Input n:7↙

Input numbers:5 9 47 82 0 6 7↙ 5,9,47,7 82,0,6

程序运行结果示例2:

Input n:8↙

Input numbers:-2 3 5 0 23 62 79 83↙ 3,5,23,79,83 -2,0,62

输入提示信息:\ \