c语言作业3
‘壹’ c语言作业3
(1):6
#include<stdio.h>
void main()
{
int i, sum=0;
for ( i=1; ; i++ )
{
if(i==4) continue;
if (i==5) break;
sum+=i;
}
printf (" %d ", sum);
getchar();
}
(2):8
(3):2
(4):25
(5):6
建议:对具体的程序,还是亲自上机调试印象要深刻一些,对学编程也有好处!!
‘贰’ C语言作业题目3 ( 提醒: 本次作业在总评中所占比例较高, 请认真对待. )
少年自己运行一下,下面代码建议你不要复制,好好看,最好默敲出来,现在就偷懒以后工作就费劲,积累的东西少,一点小问题就得上网查严重影响工作效率,工资就比你同学少一倍。
#include <stdio.h>
// 输入
void input(int a[], int len)
{
int i = 0;
while (i < len)
{
scanf("%d", &a[i++]);
}
}
// 输出
void output(int a[], int len)
{
printf("[ ");
int i = 0;
while (i < len) printf("%3d ", a[i++]);
printf("]\n");
}
// 排序
void reorder(int a[], int len)
{
int i, j, index, max;
for (i = len - 1; i >= 0; i--)
{
index = 0;
max = 0;
for (j = 0; j <= i; j++)
{
if (a[j] > max)
{
max = a[j];
index = j;
}
}
a[index] = a[i];
a[i] = max;
}
}
// 查找
int search(int a[], int begin, int end, int target)
{
int left = begin;
int right = end;
int mid = (left + right) / 2;
if (left >= right)
return -1;
if (a[mid] == target)
return mid;
else if (a[mid] < target)
return search(a, mid, right, target);
else
return search(a, left, mid, target);
}
// 插入
void insert(int a[], int len, int target)
{
int i = 0;
int index = -1;
if (target <= a[0]) index = 0;
else if (target >= a[len - 1]) index = len;
else
{
for (i = 0; i < len; i++)
{
if (a[i] < target && a[i + 1] >= target)
{
index = i + 1;
break;
}
}
}
for (i = len; i > index; i--)
{
a[i] = a[i - 1];
}
a[index] = target;
}
// 删除
void delete(int a[], int len, int target)
{
int index = search(a, 0, len, target);
if (index != -1)
{
int i = 0;
for (i = index; i < len; i++)
{
a[i] = a[i + 1];
}
}
}
int main()
{
int a[30] = {0};
int count = 20;
int index = -1;
int x = -1;
printf("Please input %d integers:", count);
input(a, count);
printf("The numbers you input are:\n");
output(a, count);
printf("Please input the x you want to insert: x = ");
scanf("%d", &x);
printf("Firstly, we reorder these numbers...\n");
reorder(a, 10);
printf("Now we get an array like this:\n");
output(a, 10);
printf("Search %d in the array...\n", x);
index = search(a, 0, count, x);
if (index == -1)
{
printf("We CAN NOT find %d in the array, so we insert it.\n", x);
insert(a, count, x);
count++;
}
else
{
printf("Wow, we found it, so we delete it...\n");
delete(a, count, x);
count--;
}
printf("Now let us check up the content in the array:\n");
output(a, count);
printf("\nThanks for your using!\n");
return 0;
}
‘叁’ C语言作业3.
#include "stdio.h"
main()
{
int a[10],i,j,q;
printf("input ten num:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{ q=a[i];
a[i]=a[j];
a[j]=q;
}
for(i=0;i<10;i++)
printf("%d",a[i]);
}
‘肆’ 3. C语言作业
根据你的题目,我的编程如下:
#include<stdio.h>
main()
{
int i,j;
double sum=0.0,s1=0.0,s2=0.0;
for(i=1;i<=101;i+=4)//这次循环求1+5+9+……+101的和
s1+=i;
for(j=-3;j>=-99;j-=4)/这里循环求-3-7-11-……-99和
s2+=j;
sum=s1+s2;
printf("the result is:\n%lf",sum);
}
思路就是将原式分成两个好求其和的部分,分别求出后再相加。
此程序运行接果为51.000000,不知道对不对啊。
不对你再适当的改一改,反正基本思路是对的。
‘伍’ 一些c语言的作业问题(3)
楼主你好!下面是你需要的答案,希望能帮到你
1.#include <stdio.h>
int main(void)
{
int a = -1, b = -1;
if((a = 3) || (b = 2)){//这里是把3赋值得a,并且(a=3)是真,b也是如此。除非你这样写:
if(a==3)||(b==2),输出的就是-1和-1.
}
printf("%d %d\n", a, b);
return 0;
}
2.
#include<stdio.h>
#include<stdlib.h>
void main()
{
char ch;
while((ch=getchar())!='\n')
{
if('A'<=ch&&ch<='Z')
ch=ch+32;
printf("%c\n",ch);
}
}
3.
#include <stdio.h>
int main(void)
{
int i;
printf("请输入一个数字:\n");
scanf("%d",&i);
if(i=1)这里是赋值号,应该改为==号
printf("1\n");
else if(i=2)这里是赋值号,应该改为==号
printf("2\n");
else if(i=3)这里是赋值号,应该改为==号
printf("3\n");
else
printf("输入错误!\n");
return 0;
}
‘陆’ C语言作业: 从键盘输入3个整数,按照从小到大的顺序输出
#include<stdio.h>
void main()
{
int a,b,c,t;
printf("请输入三个整数:a b c ");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("排序后的三个整数为:%d,%d,%d ",a,b,c);
}
(6)c语言作业3扩展阅读:
scanf函数原型
int(const char*restrict format,...);
函数scanf()是从标准输入流stdin(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
返回值
scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。
如:
scanf("%d%d",&a,&b);
函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;
如果只有a被成功读入,返回值为1;
如果a和b都未被成功读入,返回值为0;
如果遇到错误或遇到end of file,返回值为EOF。end of file为Ctrl+z或者Ctrl+d。
例:使用scanf函数输入数据。
#include<stdio.h>
int main(void)
{
int a,b,c;
printf("Give me the value of a,b,c seperated with whitespaces: ");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d ",a,b,c);
return 0;
}
&a,&b,&c中的&是寻址操作符,&a表示对象a在内存中的地址,是一个右值。变量a,b,c的地址是在编译阶段分配的(存储顺序由编译器决定)。
注意:如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔——
“2(空格)3(tab)4”或“2(tab)3(回车)4”等。若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”。
‘柒’ C语言综合作业题3题求助高手——答对加分
1.两处分别改为:
if(arr[i]%2==1)
s=average(a,12);
------------------------------------------------------
2.添加代码:
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
a[i][j]=0;
if(i==0)
{
a[i][i]=1;
continue;
}
for(j=0;j<i;j++)
{
if(j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
-----------------------------------------------
3.
(1) j>k
(2) count
‘捌’ C语言作业题3
#include <stdio.h>
#include<string.h>
int coin[7]={100,
50,
20,
10,
5,
2,
1};
int main ( )
{
int n,a,m,i;
int ans[7];
while(scanf("%d",&n)!=EOF)
{
memset(ans ,0,sizeof(ans));
while(n--)
{
scanf("%d",&a);
for(i=0;i<7;i++)
{
ans[i]+=a/coin[i];
a%=coin[i];
}
}
for(i=0;i<7;i++)
{
printf("%d:%d\n",coin[i],ans[i]);
}
}
return 0;
}