首页 > 软件 > 用C语言写出如下题目

用C语言写出如下题目

软件 2023-05-11

用简单的C语言写出如下题目

按照题目要求以及输入输出格式,程序代码如下,由于输出样式,一些不符合输出样式的输出语句使用//作为注释,如果需要格式,去掉//即可

#include
#include
structmonster
{
intx;
inty;
intz;
};
structskill
{
inta;
intb;
intr;
inth;
};
intmain()
{
intn,i,mk=0;;
monstera[10];
skills;
//printf("请输入怪物数量:\n");
scanf("%d",&n);
while(n)
{
i=0;
mk=0;
//printf("请输入怪物信息:\n");
while(i {
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);
i++;
}
//printf("请输入技能参数:\n");
scanf("%d%d%d%d",&s.a,&s.b,&s.r,&s.h);
i=0;
while(i {
if(pow((a[i].x-s.a),2)+pow((a[i].y-s.b),2)<=pow(s.r,2)&&a[i].z<=s.h)
{
mk++;
}
i++;
}
//printf("本次技能消灭怪物数目:");
printf("%d\n",mk);
scanf("%d",&n);
}
return0;
}

如果对您有帮助,望采纳。

用C语言数组编写一道题目,要求如下:

不难,不过要先理清每一块的结构。 首先选用结构体来储存每一辆车的成员,建议用char,有字符串函数比较很方便。 主函数定义一个菜单界面,用switch来做6个选择,分别跳到6个子函数; 查询编号使用strncmp(str1,str2,n)来比较字符串的前n位; (严格点还可以用“%5s”来限制scanf的扫描位数,fflush(stdin)来清空输入缓冲区。) 第二个函数可以先插入后排序,然后依次输出。(单链表是从链头head到链尾的NULL) 第三个函数先查询该车存在与否,再删除,输出。 第四第五是加减法,第六是以每个汽车结构体中的年龄成员作排序,再输出,第一个数和他后面所有的数比较一次,若

用c语言写下列题目的程序?

C代码和运行结果如下:

输出符合样例,望采纳~

附源码:

#include

int toInt(int a[]) { // 4位数组转整数值

int i, num = 0;

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

num = num * 10 + a[i];

return num;

}

void toArr(int a[], int num) { // 整数转4位数组

int i = 3;

while (num > 0) {

a[i--] = num % 10;

num /= 10;

}

while (i >= 0)

a[i--] = 0; // 高位要置0

}

void sort(int a[], int flag) { // flag=0升序,flag=1降序

int i, j, t;

if (flag == 0)

flag = -1;

for (i = 0; i < 3; i++) { // 冒泡排序

for (j = 0; j < 3 - i; j++) {

if (a[j] * flag < a[j + 1]) {

t = a[j]; // 交换两数

a[j] = a[j + 1];

a[j + 1] = t;

}

}

}

}

int main() {

int a[4] = {0}, n, max, min, k = 0;

scanf("%d", &n);

while (n != 6174) {

toArr(a, n);

sort(a, 1); // 降序

max = toInt(a); // 得最大数

sort(a, 0); // 升序

min = toInt(a); // 得最小数

n = max - min;

k++; // 记录操作步数

}

printf("%d\n", k);

return 0;

}

用c语言编写一个函数,题目如下

void fun(int m, int k, int xx[])
{
int i,j,a=0,num=0;
while(1)
{ m=m+1;
for(j=2;j { if(m%j==0)
break;
}
if(j>=m)
{ xx[a++]=m;
num++;
}

if(num==k) break;
}

}

C语言题目,具体如下

#include

main()

{

while(1)

{

int n,i,j,min,max,t,x;

char k[4];

printf("请输入一个四位数且各个位上的数都不相同: ");

scanf("%d",&n);//获取输入的数值

printf("%d→",n);//输出第获取的值

k[0]=n%10;//得到各个位上的数值

k[1]=n/10%10;

k[2]=n/100%10;

k[3]=n/1000;

for(i=0;i<=3;i++)//给各个位上的数字排序

for(j=0;j<4;j++)

{

if(k[i]>k[j])

{

t=k[i];

k[i]=k[j];

k[j]=t;

}

}

max=k[0]*1000+k[1]*100+k[2]*10+k[3];//得到最大值

min=k[3]*1000+k[2]*100+k[1]*10+k[0];//得到最小值

if(n==max-min)//将最大值域最小值的差与输入值相比较,相同则输出,不相同则,再排序比较

printf("%d",n);

else for(i=0;i<1000;i++)//最多循环1000次直至满足条件

{

x=max-min;

k[0]=x%10;//得到各个位上的数值

k[1]=x/10%10;

k[2]=x/100%10;

k[3]=x/1000;

for(i=0;i<=3;i++)//给各个位上的数字排序

for(j=0;j<4;j++)

{

if(k[i]>k[j])

{

t=k[i];

k[i]=k[j];

k[j]=t;

}

}

max=k[0]*1000+k[1]*100+k[2]*10+k[3];//得到最大值

min=k[3]*1000+k[2]*100+k[1]*10+k[0];//得到最小值

if(x==max-min)//将最大值和最小值的差与输入值相比较,相同则输出且终止循环,不相同则输出,并继续循环

{

printf("%d\n",x);

break;

}

else

printf("%d→",x);

}

}


}


标签:CC++ C(编程语言) 编程 编程语言 信息技术

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18