1.说一下“倒三角形”的问题。
我用了一个数组比较简单的解决。但是用了一个新的函数memset()。
memset()函数原型是extern void *memset(void *buffer, int c, int count)
butter是数组或指针。c是赋给butter的值。count是butter的长度。
头文件是:#include“memory.h”
下边的程序分别是:结构体的初始化,数组的初始化,字符串的初始化。
#include<stdio.h>
#include<memory.h>
struct student
{
int num;
char name[20];
char sex[10];
};
int main()
{
struct student stud1 = {10101,"liming","man"};
printf("NO.:%d\nname:%s\nsex:%s\n",stud1.num,stud1.name,stud1.sex);
memset(&stud1,0,sizeof(struct student));
printf("NO.:%d\nname:%s\nsex:%s\n",stud1.num,stud1.name,stud1.sex);
int a[10],i;
for(i = 0; i < 10; i++)
a[i]=2;
for(i = 0; i < 10; i++)
printf("%d",a[i]);
printf("\n");
memset(a,0,sizeof(a));
for(i = 0; i < 10; i++)
printf("%d",a[i]);
printf("\n");
char b[10];
for(i = 0;i < 10; i++)
b[i]='s';
printf("%s",b);
memset(b,'*',sizeof(b));
printf("%s",b);
return 0;
}
倒三角问题:
#include<stdio.h>
int main()
{
int c,flat = 0;
double a,b;
while(scanf("%lf%lf%d",&a,&b,&c)!=EOF)
{
flat ++;
if(a == 0 && b == 0 && c == 0)
break;
printf("Case %d: %.*lf\n",flat,c,a/b);
}
return 0;
}
2.分数化小数。
一道小题。值得注意的是printf()函数的用法。
printf(“%*.*s\n”,m,n,ch); m是宽度,n是保留位数。
代码如下。
#include<stdio.h>
int main()
{
int c,d,flat = 0;
double a,b;
while(scanf("%lf%lf%d%d",&a,&b,&c,&d)!=EOF)//自己多加了一个宽度d
{
flat ++;
if(a == 0 && b == 0 && c == 0)
break;
printf("Case %d: %*.*lf\n",flat,d,c,a/b);
}
return 0;
}