C语言高手,帮忙写几个程序

2024年11月16日 21:48
有3个网友回答
网友(1):

1:
#include //头文件
#include
void main()
{
double a[10]={1,1.5,2,3,4.5,6.6,7,10,15,80}; //一个数组,我假设为10个数
double x; //你要输入的整数或浮点数
int i;
printf("输入数字:");
scanf("%lf",&x);
for(i=0;i<10;i++)
{
if(fabs(x-a[i])<0.00001) //如果在这个数组中出现,就打印下标
{
printf("%d\n",i);
break;
}
}
if(i==10)
printf("-1\n"); //否则打印-1

}

2:
#include
using namespace std;
int main()
{
int n,m,k,i,sum,all;
cin>>n>>m>>k;
int *flag=new int[n+1];
for(i=1;i<=n;++i)
{
flag[i]=0;
}
sum=all=0;
for(i=m;;++i)
{
if(i>n)
{
i=0;
continue;
}
if(flag[i]==1)
continue;
if(all==n-1)
break;
if(sum==k-1)
{
++all;
sum=0;
flag[i]=1;
}
if(flag[i]==0)
{
++sum;
}
}
for(i=1;i<=n;++i)
if(flag[i]==0)
printf("%d\n",i);
return 0;
}
3:
#include
#include

int is_palindrome(char *s) {
int i, len;

len = strlen(s);

for(i = 0; i < (len /2); i++) {
if (s[i] != s[len-i-1])
return 0;
}

if (i >= len/2)
return 1;
else
return 0;
}

int main() {
char s[256];

while(1) {
gets(s);

if (is_palindrome(s))
printf("%s is palindrome\n", s);
else
printf("%s is not palindrome\n", s);
}
}
4:
#include
void main()
{
static int a[6];
float number=0,b;
while(number!=-1) //输入成绩,直到输入-1结束
{
printf("Enter (-1) to exit!\n");
printf("Please input a grade:");
scanf("%f",&number);
while(number>100) number=-1;
switch (number/10)
{
case 0: break;
case 10: a[0]=a[0]+1;break;
case 9: a[1]=a[1]+1;break;
case 8: a[2]=a[2]+1;break;
case 7: a[3]=a[3]+1;break;
case 6: a[4]=a[4]+1;break;
default: a[5]=a[5]+1;
}
printf("100Grade:%d\n",a[0]);
printf("90-99Grade:%d\n",a[1]);
printf("80-89Grade:%d\n",a[2]);
printf("70-79Grade:%d\n",a[3]);
printf("60-69Grade:%d\n",a[4]);
printf("0-59Grade:%d\n",a[5]);
printf("\n");
}
}
5:和第四题差不多,几乎不用改了。

给分吧,我花了很久了!

网友(2):

#include
void main()
{
int num,i,*p,k,j;
int ch[20];
p=ch;
printf("请输入围成一圈的人数:");
scanf("%d",&num);
for(i=0;i *(p+i)=i+1;
j=0;
i=0;
k=0;
while(j {

if(*(p+i)!=0)
{
k++;
}
if(k==3)
{
printf("%d ",*(p+i));
j++;
k=0;
*(p+i)=0;
}
i++;

if(i==num)
{
i=0;
}
}
printf("\n");

}

回文

#include
#include
void main()
{
char str[100];
int len,i;
printf("please input a string:");
gets(str);
len=strlen(str);
for(i=0;i<=len/2;i++)
{
if(str[i]!=str[len-1-i])
{
printf("%s 不是回文\n",str);
break;
}
}
if(i>len/2)
printf("%s 是回文\n",str);
}

#include
#define max 100
void main()
{
int a[max],i,n;
int yx=0,lh=0,jg=0,bjg=0;
printf("请输入学生的总人数:");
scanf("%d",&n);
printf("请输入学生的成绩:");
for(i=0;i {
scanf("%d",&a[i]);
if(a[i]>=85)
yx++;
else if(a[i]>=75)
lh++;
else if(a[i]>=60)
jg++;
else
bjg++;
}
printf("优秀:%d\n良好:%d\n及格:%d\n不及格:%d\n",yx,lh,jg,bjg);

}

网友(3):

int fun(float p[],float x) {
float *t = p;
int i = 0;
while(t!=null) {
if(*t==x) {
return i;
}
i++;
t++;
}
return -1;
}

第一个题,-_-! 大概就那样,没编译