c语言题目求教
1.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。2.从键盘输入一个角度x,求10*sin(x)的值。3.编写一个函数intinv...
1.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。
2.从键盘输入一个角度x,求10*sin(x)的值。
3.编写一个函数int invert(char str[ ]),将一个字符串的内容颠倒过来。
提示:先求字符串str的长度n,for(i=0;i<n/2;i++){a[i]与a[n-1-i]交换}
4.编写函数,删除字符串中,从指定位置m开始的n个字符。删除成功,函数返回被删除字符串;否则返回空的值。
提示:for(k=m , i=0 ; str[i] ; i++)
str[m+i]=str[m+n+i];
str[m+i]=’\0’;
5.编写一个程序,从键盘输入的字符串,删去非数字字符,转换成整型数输出。
提示:for(s=0 , i=0 , j=0 ; str[i];i++)
if(str[i]>=’0’&&str[i]<=’9’)
s=s*10+str[i]-‘0’;
6.用递归的方法编写一个函数sum(int n),求1至n的累加和。
提示:f(n)=n+f(n-1)
9.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。
(1)
#include<stdio.h>
void main( )
{
int i,s;
i=1; s=0;
while(i<=100);
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
}
(2)
#include<stdio.h>
void main( )
{
int i,s;
i=1;
s=0;
while(i<=100)
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
}
(3)
#include<stdio.h>
void main( )
{
int i=1,s;
while(i<=100) ;
{
s=s+i;
i++;
}
printf(“1+2+3+….+99+100=%d\n”,s);
}
请,尽量答。答多答少没关系。好的再送20分,会选一个的,不然自己是狗 展开
2.从键盘输入一个角度x,求10*sin(x)的值。
3.编写一个函数int invert(char str[ ]),将一个字符串的内容颠倒过来。
提示:先求字符串str的长度n,for(i=0;i<n/2;i++){a[i]与a[n-1-i]交换}
4.编写函数,删除字符串中,从指定位置m开始的n个字符。删除成功,函数返回被删除字符串;否则返回空的值。
提示:for(k=m , i=0 ; str[i] ; i++)
str[m+i]=str[m+n+i];
str[m+i]=’\0’;
5.编写一个程序,从键盘输入的字符串,删去非数字字符,转换成整型数输出。
提示:for(s=0 , i=0 , j=0 ; str[i];i++)
if(str[i]>=’0’&&str[i]<=’9’)
s=s*10+str[i]-‘0’;
6.用递归的方法编写一个函数sum(int n),求1至n的累加和。
提示:f(n)=n+f(n-1)
9.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。
(1)
#include<stdio.h>
void main( )
{
int i,s;
i=1; s=0;
while(i<=100);
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
}
(2)
#include<stdio.h>
void main( )
{
int i,s;
i=1;
s=0;
while(i<=100)
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
}
(3)
#include<stdio.h>
void main( )
{
int i=1,s;
while(i<=100) ;
{
s=s+i;
i++;
}
printf(“1+2+3+….+99+100=%d\n”,s);
}
请,尽量答。答多答少没关系。好的再送20分,会选一个的,不然自己是狗 展开
2个回答
展开全部
1.
include <stdio.h>
main()
{
char answer;
printf("Are you a student?\n");
answer=getchar();
if(answer=='y'||answer=='Y')
printf("You are a student.\n");
else if(answer=='n'||answer=='N')
printf("You are not a student.\n");
else
printf("Your answer is ambiguous!\n");
return 0;
}
2.
#incude <坦好闭袜猜stdio.h>
#include <math.h>
main()
{
int x;
double y;
printf("Input x:\n");
scanf("%d",&x);
y=10.0*sin((double)x*2.0*PI/360.0);
printf("sin(%d)=%f\n",x,y);
return 0;
}
3.
int invert(char str[])
{
int n=0, i;
char *p=str, temp;
while(*p++!='\0')
n++;
for(i=0;i<n/2;i++)
{
temp=a[i];
a[i]=a[n-1-i];
a[n-1-i]=temp;
}
retunr n;
}
4.
char *deleteStr(char str[], int m, int n)
{
int i;
static char delstr[n];
for(i=0;str[m+n-1+i];i++)
{
delstr[i]=str[m+i];
str[m+i]=str[m+n-1+i];
}
delstr[i]=str[m+i]='\0';
return delstr;
}
5.
#include <stdio.h>
#define N 100
main()
{
char str[N];
int i=1, s=0;
printf("Input string:\n");
str[0]=getchar();
while(str[i-1]!='\n')
{
str[i]=getchar();
i++;
}
i=0;
while(str[i])
{
if(str[i]>='0'&&str[i]<='9')
s=s*10+(str[i]-'0');
}
printf("%d\n",s);
retunr 0;
}
6.
int asum(int n)
{
if(n<=0)
{
printf("让裂Input Error!\n");
return 0;
}
else if(n==1)
return 1;
else
return n+asum(n-1);
}
9.
(1)
#include<stdio.h>
void main( )
{
int i,s;
i=1; s=0;
while(i<=100); //死循环,加上花括号就对了
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
}
改后:
#include<stdio.h>
void main( )
{
int i,s;
i=1; s=0;
while(i<=100);
{
s=s+i;
i++;
}
printf(“1+2+3+….+99+100=%d\n”,s);
}
(2)
#include<stdio.h>
void main( )
{
int i,s;
i=1;
s=0;
while(i<=100) //也是死循环,改法和(1)同
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
}
(3)
#include<stdio.h>
void main( )
{
int i=1,s; //s未初始化,改为s=0就对了
while(i<=100) ;
{
s=s+i;
i++;
}
printf(“1+2+3+….+99+100=%d\n”,s);
}
include <stdio.h>
main()
{
char answer;
printf("Are you a student?\n");
answer=getchar();
if(answer=='y'||answer=='Y')
printf("You are a student.\n");
else if(answer=='n'||answer=='N')
printf("You are not a student.\n");
else
printf("Your answer is ambiguous!\n");
return 0;
}
2.
#incude <坦好闭袜猜stdio.h>
#include <math.h>
main()
{
int x;
double y;
printf("Input x:\n");
scanf("%d",&x);
y=10.0*sin((double)x*2.0*PI/360.0);
printf("sin(%d)=%f\n",x,y);
return 0;
}
3.
int invert(char str[])
{
int n=0, i;
char *p=str, temp;
while(*p++!='\0')
n++;
for(i=0;i<n/2;i++)
{
temp=a[i];
a[i]=a[n-1-i];
a[n-1-i]=temp;
}
retunr n;
}
4.
char *deleteStr(char str[], int m, int n)
{
int i;
static char delstr[n];
for(i=0;str[m+n-1+i];i++)
{
delstr[i]=str[m+i];
str[m+i]=str[m+n-1+i];
}
delstr[i]=str[m+i]='\0';
return delstr;
}
5.
#include <stdio.h>
#define N 100
main()
{
char str[N];
int i=1, s=0;
printf("Input string:\n");
str[0]=getchar();
while(str[i-1]!='\n')
{
str[i]=getchar();
i++;
}
i=0;
while(str[i])
{
if(str[i]>='0'&&str[i]<='9')
s=s*10+(str[i]-'0');
}
printf("%d\n",s);
retunr 0;
}
6.
int asum(int n)
{
if(n<=0)
{
printf("让裂Input Error!\n");
return 0;
}
else if(n==1)
return 1;
else
return n+asum(n-1);
}
9.
(1)
#include<stdio.h>
void main( )
{
int i,s;
i=1; s=0;
while(i<=100); //死循环,加上花括号就对了
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
}
改后:
#include<stdio.h>
void main( )
{
int i,s;
i=1; s=0;
while(i<=100);
{
s=s+i;
i++;
}
printf(“1+2+3+….+99+100=%d\n”,s);
}
(2)
#include<stdio.h>
void main( )
{
int i,s;
i=1;
s=0;
while(i<=100) //也是死循环,改法和(1)同
s=s+i;
i++;
printf(“1+2+3+….+99+100=%d\n”,s);
}
(3)
#include<stdio.h>
void main( )
{
int i=1,s; //s未初始化,改为s=0就对了
while(i<=100) ;
{
s=s+i;
i++;
}
printf(“1+2+3+….+99+100=%d\n”,s);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询