【无标题】

221120数组已完成

1【程序题】

整数升序 。在提示信息10 number:后输入10个整数,编程以升序排列之,并以sorted=A,B,C…I,J的形式输出。注意,输出时最后1个数后无任何符号。下面是程序运行效果:

我的答案:

#include <stdio.h>

void Maopao(int arr[])

{

int Mid;

for (int j = 0;j < 9;j++)

{

for (int i = 0;i < 9;i++)

{

if (arr[i] > arr[i + 1])

{

Mid = arr[i];

arr[i] = arr[i + 1];

arr[i + 1] = Mid;

}

}

}

}

int main()

{

int arr[10] = { 0 };

printf("10 numbers:");

for (int i = 0;i <= 9;i++)

{

scanf("%d", &arr[i]);

}

Maopao(arr);

printf("sorted=");

for (int i = 0;i <= 9;i++)

{

printf("%d", arr[i]);

if(i<=8)

printf(",");

}

}

2【程序题】

单词升序 。在提示信息7 word:后输入7个英文单词,编程以升序排列之,并以sorted=A,B,C,D,E,F,G的形式输出。注意,①输出时最后1个单词后无任何符号;②约定单词长度不大于5。下面是程序运行效果:

我的答案:

#include <stdio.h>

#include <string.h>

void Paixu(char str[][6])

{

char str1[6];

int j = 0;

for (int o = 0;o < 6;o++)

{

for (int i = 0;i < 6;i++)

{

j = 0;

while (str[i][j] == str[i + 1][j])

{

j++;

}

if (str[i][j] >= str[i + 1][j])

{

strcpy(str1, str[i]);

strcpy(str[i], str[i + 1]);

strcpy(str[i + 1], str1);

}

}

}

}

int main()

{

char str[7][6] = {0};

printf("7 words:");

for (int i = 0;i <= 6;i++)

{

scanf("%s", str[i]);

}

Paixu(str);

printf("sorted=");

for (int i = 0;i <= 6;i++)

{

printf("%s", str[i]);

if (i < 6)

printf(",");

}

}

3【程序题】

去除重复。将不超过10个整数输入数组后,从头开始逐个扫描数组元素,①一经发现与前面元素中的数相等的数,就将该重复数(数组后面位置的重复数)从数组中“清除”,再将后续的数组元素逐个前移一位;②将重复数全部清除后,以no-repetition=A,B,…的形式从头至尾输出数组中剩余的数。注意,输出时最后1个数后无任何符号。下面是程序的运行效果:

我的答案:

#include <stdio.h>

#include <string.h>

int Panduan(int m,int str[],int i)

{

for (int j = 0;j < i;j++)

{

if (m == str[j])

return 0;

}

return 1;

}

int main()

{

int str[11] = {0};

int i;

printf("10 numbers:");

int o = 0;

for (i = 0;i <= 9;i++)

{

scanf("%d", &str[o]);

if (Panduan(str[o],str,o) == 0)

o = o - 1;

if (Panduan(str[o], str, o) == 0 && i == 9)

{

o = o - 2;

}

o++;

}

str[o] = 9999696l;

printf("no-repetition=");

i = 0;

int count = 0;

while (str[i] != 9999696l)

{

/*printf("%d", str[i]);*/

i++;count++;

/*printf(",");*/

}

i = 0;

while (str[i] != 9999696l)

{

printf("%d", str[i]);

i++;

if(i<count)

printf(",");

}

}//哈哈哈哈哈这也能过我也没想到

4【程序题】

矩阵乘法。编程实现2×3矩阵A乘以3×2矩阵B,其结果是2×2矩阵AB。要求:①在提示符matrixA:后的新一行开始,输入2行,每行3个整数;②在提示符matrixB:后的新一行开始,输入3行,每行2个整数;③程序计算矩阵A与矩阵B的乘积AB,并以matrixAB:后新一行开始的2行、每行2个整数的形式输出乘积AB。注意,输出时最后1个数后无任何符号。下面是程序的运行效果:

我的答案:

#include <stdio.h>

#include <string.h>


int main()

{

int arr[2][3] = { 0 };

int arr1[3][2] = { 0 };

int result[2][2];

printf("matrixA:\n");

for (int i = 0;i < 2;i++)

{

scanf("%d %d %d", &arr[i][0],&arr[i][1], &arr[i][2]);

}

printf("matrixB:\n");

for (int i = 0;i < 3;i++)

{

scanf("%d %d", &arr1[i][0], &arr1[i][1]);

}

result[0][0] = arr[0][0] * arr1[0][0] + arr[0][1] * arr1[1][0] + arr[0][2] * arr1[2][0];

result[0][1] = arr[0][0] * arr1[0][1] + arr[0][1] * arr1[1][1] + arr[0][2] * arr1[2][1];

result[1][0] = arr[1][0] * arr1[0][0] + arr[1][1] * arr1[1][0] + arr[1][2] * arr1[2][0];

result[1][1] = arr[1][0] * arr1[0][1] + arr[1][1] * arr1[1][1] + arr[1][2] * arr1[2][1];

printf("matrixAB:\n");

for (int i = 0;i < 2;i++)

{

printf("%d,%d", result[i][0], result[i][1]);

if(i<1) printf("\n");

}

}

5【程序题】

统计单词个数。输入一行字符,统计其中有多少个单词,单词之间用空格分隔。 要求:①在提示符string:后输入一个字符串,以回车结束;②假设单词只以空格作为分隔符,程序统计这个字符串中的单词数A,然后以words=A的形式输出。下面是程序的运行效果:

我的答案:

#include <stdio.h>

int main()

{

char put;

printf("string:");

int count = 1;

put = getchar();

while (put != '\n')

{

if (put == ' ')

count++;

put = getchar();

}

printf("words=%d", count);

}

6【程序题】

多项式。一元n次多项式的一般形式如下:

 

要求:①在n,x:的提示信息后,用户输入n、x的值,n为整数,x为浮点数;②根据n值,程序提示a0,a1,…an:由用户在提示后输入相应的多项式系数,所有系数都是浮点数;③程序根据用户的输入,计算出多项式的值,以f(x)=A.BC的形式输出,输出结果保留2位小数;④输出计算结果后,程序再次提示n,x:等待用户下次输入,直到用户输入的n值小于0为止;⑤当用户输入的n值小于0,程序输出Bye!结束。

注意:为简化程序,约定用户输入的n值小于10。下面是程序的运行效果:

我的答案:

#include <stdio.h>

#include <math.h>

int main()

{

int n;

double x;

double A[9] = {0};

double F=0;

int j;

do

{

F = 0;

printf("n,x:");

scanf("%d %lf", &n, &x);

if (n < 0)

{

printf("Bye!");

break;

}

for (int i = 0;i <= n;i++)

{

printf("a%d",i);

if (i < n )

printf(",");

}

printf(":");

for (int i = 0;i <= n ;i++)

{

scanf("%lf", &A[i]);

}

j = n;

for (int i = 0;i <= n;i++)

{

F = F + (A[i] * (pow(x, (j - i))));

}

printf("f(x)=%.2lf\n", F);

} while (n >= 0);

}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ApophisJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值