#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。
//void my_long(char* a, int n)
//{
// int num = 0;
// int max = 0;
// int biao = 0;
// int biao2 = 0;
// int i2 = 0;
// int i = 0;
// for (i; i < n; i++)
// {
// if (*(a + i) != ' ' && *(a + i + 1) != '\0')
// {
// num++;
// }
// else
// {
// if (max == num)
// {
// biao2 = i;
// }
// else if (max < num)
// {
// biao = i;
// max = num;
// }
// num = 0;
// }
// }
// int j = 0;
// int e = biao - max;
// printf("The Longest word is: ");
// while (*(a + e + j) != ' ' && *(a + e + j) != '\0')
// {
// if (*(a + e + j) == '.')
// {
// break;
// }
// printf("%c", *(a + e + j));
// j++;
// }
// int c = 0;
// if (biao2 != 0)
// {
// printf(" ");
// int f = biao2 - max;
// while (*(a + c + f) != ' ' && *(a + c + f) != '\0')
// {
// if (*(a + c + f) == '.')
// {
// break;
// }
// printf("%c", *(a + f + c));
// c++;
// }
// }
//}
//
//int main()
//{
// char arr[80] = { 0 };
// gets(arr);
// int len = strlen(arr);
// my_long(arr, len);
// return 0;
//}
写一个函数,用“起泡法”对从键盘输入的10个字符按由小到大顺序排列。
//#include <stdio.h>
//#include <string.h>
//void sort(char* a)
//{
// int min = *a;
// for (int i = 0; i < 9; i++)
// {
// for (int j = 0; j < 9 - i; j++)
// {
// if (*(a + j) > *(a + j + 1))
// {
// min = *(a + j + 1);
// *(a + j + 1) = *(a + j);
// *(a + j) = min;
// }
// }
// }
//}
//int main()
//{
// char str[11] = { 0 };
// while (1)
// {
// gets(str);
// if (strlen(str) != 10)
// {
// printf("The length of the string is not equal to N, input again!");
// }
// else
// {
// break;
// }
// }
// sort(str);
// printf("string sorted:");
// for (int i = 0; i < 10; i++)
// {
// printf("%c", str[i]);
// }
/
// return 0;
求一个字符串长度
//#include <stdio.h>
//
//int length(char* a)
//{
// int num = 0;
// int i = 0;
// while (*(a + i) != '\0')
// {
// num++;
// i++;
// }
// return num;
//}
//int main()
//{
// char arr[100] = { 0 };
// gets(arr);
// int n = length(arr);
// printf("The length of string is %d", n);
//
// return 0;
//}
要求输出3门课程平均成绩和总平均成绩,以及3门课程平均分最高的学生数据(包括学号、姓名、3门课程的成绩和平均成绩)。
要求用一个input函数输入10个学生数据,用一个average函数求平均成绩,用max函数找出平均成绩最高的学生数据。
例如本程序的输出格式为:
首先输出每个学生3门课程平均成绩和总平均成绩,小数点后保留两位有效数字。
然后输出平均成绩最高的学生的数据(包括学号、姓名、3门课程的成绩、平均成绩),其中,课程成绩和平均成绩,小数点后保留两位有效数字。
//#include <stdio.h>
//
//#define N 10
//
//
//struct student
//{
// char num[6];
// char name[8];
// float score[3];
// float avr;
//}stu[N];
//
//int main()
//{
// float average = 0.0;
// float aver[10] = { 0.0 };
// float sum = 0.0;
// for (int i = 0; i < 10; i++)
// {
// scanf("%s", &stu[i].num);
// scanf("%s", &stu[i].name);
// for (int j = 0; j < 3; j++)
// {
// scanf("%f", &stu[i].score[j]);
// sum += stu[i].score[j];
// }
// aver[i] = sum / 3.0;
// sum = 0;
// average += aver[i];
// }
// float num = 0;
// for (int j = 0; j < 10; j++)
// {
// printf("%.2f\n", aver[j]);
// }
// float n = average / 10.0;
// printf("%.2f\n", n);
// float max = aver[0];
// int biao = 0;
// int biao2 = 0;
// for (int i = 0; i < 9; i++)
// {
// if (aver[i] == max)
// {
// biao2 = i;
// }
// else if (aver[i] > max)
// {
// max = aver[i];
// biao = i;
//
// }
// }
// printf("%s %s %.2f %.2f %.2f %.2f.", stu[biao].num, stu[biao].name, stu[biao].score[0], stu[biao].score[1], stu[biao].score[2], max);
// if (biao2)
// {
// printf("\n");
// printf("%s %s %.2f %.2f %.2f %.2f.", stu[biao2].num, stu[biao2].name, stu[biao2].score[0], stu[biao2].score[1], stu[biao2].score[2], max);
// }
// return 0;
//}
用递归法将一个整数n转换成字符串。例如,从键盘输入483,应输出字符串“483”。n的位数不确定,可以是任意的整数。
//#include <stdio.h>
//#include <string.h>
//void change(int n, char* arr, int a)
//{
// if (n == 0)
// {
// if (a == 0)
// {
// *(arr + a) = '0';
// a++;
// }
// *(arr + a) = '\0';
// return;
// }
// *(arr + a) = n % 10 + '0';
// a++;
// change(n / 10, arr, a);
//
//
//}
//int main()
//{
// int n = 0;
// scanf("%d", &n);
// char arr[80] = { 0 };
// int a = 0;
// if (n < 0)
// {
// arr[a] = '-';
// a++;
// n = -n;
// }
// int j = a;
// change(n, arr, a);
// int i = strlen(arr);
// printf("output: ");
// if (j == 1)
// {
// printf("%c ", arr[0]);
// for (i; i > 1; i--)
// {
// printf("%c ", arr[i - 1]);
// }
// }
// else if (j == 0)
// {
// for (i; i > 0; i--)
// {
// printf("%c ", arr[i - 1]);
// }
// }
// return 0;
//}
编写一个函数,由实参传来一个字符串,统计此字符串中的字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
编写程序,用scanf函数得到输入,求出结果后将其输出,输出格式参考output文件
//#include <stdio.h>
//#include <string.h>
//#include <ctype.h>
//#include <math.h>
//void number(char arr[100], int n)
//{
// int letter = 0; // number of letters
// int digit = 0; // digital number
// int space = 0; // number of spaces
// int others = 0; // number of other characters
// for (int i = 0; i < n; i++)
// {
// if (isalpha(arr[i]))
// {
// letter++;
// }
// else if (arr[i] == ' ')
// {
// space++;
// }
// else if (isdigit(arr[i]))
// {
// digit++;
// }
// else
// {
// others++;
// }
//
// }
// printf("letter:%d\ndigit:%d\nspace:%d\nothers:%d", letter, digit, space, others);
//}
//
//int main()
//{
// char arr[100] = { 0 };
// gets(arr);
// printf("string: %s\n", arr);
// int n = strlen(arr);
// number(arr, n);
//
//
// //
// // TODO
// //
//
// return 0;
//}
输入三个字符串,按由小到大的顺序输出。
//#include <stdio.h>
//#include <string.h>
//void swap(char m[80], char n[80])
//{
// char a[80] = { 0 };
// strcpy(a, m);
// strcpy(m, n);
// strcpy(n, a);
//}
//
//int main()
//{
// char a[80] = { 0 };
// char b[80] = { 0 };
// char c[80] = { 0 };
// gets(a);
// gets(b);
// gets(c);
// if (strcmp(a, b) > 0)
// {
// swap(a, b);
// }
// if (strcmp(a, c) > 0)
// {
// swap(a, c);
// }
// if (strcmp(b, c) > 0)
// {
// swap(b, c);
// }
// printf("%s\n%s\n%s\n", a, b, c);
//
// return 0;
//}
用指向指针的指针的方法对5个字符串排序并输出。要求将排序单独写成一个函数。在主函数中从键盘读取5个字符串,并在最后输出排序后的结果。
//#include <stdio.h>
//#include <string.h>
//
//#define LINEMAX 20
//void sort(char* p[])
//{
// char* a = 0;
// for (int i = 0; i < 4; i++)
// {
// for (int j = i + 1; j < 5; j++)
// {
// if (strcmp(p[i], p[j]) > 0)
// {
// a = p[i];
// p[i] = p[j];
// p[j] = a;
// }
// }
// }
//}
//int main()
//{
// char arr[5][80] = { 0 };
// char* p[5];
// for (int i = 0; i < 5; i++)
// {
// scanf("%s", &arr[i]);
// p[i] = arr[i];
// }
// sort(p);
// printf("string sorted:\n");
// for (int i = 0; i < 5; i++)
// {
// printf("%s\n", p[i]);
// }
// return 0;
//}
//
//