作业

1)拆分实数的整数与小数部分:要求自定义一个函数void splitfloat (float x,int * intpart,float * fracpart),其中x是被拆分的实数,* intpart和* fracpart分别是将实数x拆分出来的整数部分与小数部分。编写主函数,并在其中调用函数splitloat()。试编写相应程序。

#include <stdio.h>
void splitfloat(float x, int *intpart, float *fracpart);
int main(void)
{
float realnumber;
int integerpart;
float fractionpart;

printf("ÇëÊäÈëÒ»¸öʵÊý:");
scanf("%f",&realnumber);
printf("ÄãÊäÈëµÄʵÊýÊÇ:%f\n", realnumber);

splitfloat(realnumber, &integerpart, &fractionpart);
printf("ÕûÊý²¿·ÖÊÇ:%d\n", integerpart);
printf("СÊý²¿·ÖÊÇ:%f\n", fractionpart);

return 0;
}

void splitfloat(float x, int *intpart, float *fracpart)
{
*intpart = (int)x;
*fracpart = x - *intpart;
}

(3)循环后移:有n个整数,使前面各数顺序向后移m个位置,移出的数再从开头移入。编写一个函数实现以上功能,在主函数中输入n个整数并输出调整后的n个数。试编写相应程序。


#include<stdio.h>
int main()
{
void move(int[20], int, int);
int number[20], n, m, i;
scanf("%d",&n);
for (i = 0;i < n;i++)
scanf("%d", &number[i]);
scanf("%d", &m);
move(number, n, m);
for (i = 0;i < n;i++)
printf("%d ", number[i]);
}
void move(int array[20], int n, int m)
{

int *p, arrayend;
arrayend = *(array + n - 1);
for (p = array + n - 1;p > array;p--)
*p = *(p - 1);
*array = arrayend;
m--;
if (m > 0)move(array, n, m);
}

 (6)删除字符:输入一个字符串,再输入一个字符ch,将字符串中所有的ch字符删除后输出该字符串

#include<stdio.h>
void delchar(char *s,char c)
{
int i=0;
printf("After delected,the string is:");
while(s[i]!='\0')
{
if(s[i]!=c)
printf("%c",s[i]);
i++;
}
printf("\n");
}
void main()
{
char s[50];
char c;
printf("Input a string:");
gets(s);
printf("Input a char:");
getchar();
c=getchar();
delchar(s,c);
}

 

(7)字符串顺序:输入5个字符串,按由小到大的顺序输出,试编写相应程序。


#include<stdio.h>
#include<string.h>

int main()
{
int n,i;
scanf("%d", &n);
getchar();
char str[100][100];
for(i = 0; i < n; i++)
gets(str[i]);
char tmp[100];
for( i = 0; i < n - 1; i++)
for(int j = 0; j < n - i - 1; j++)
{
if(strcmp(str[j], str[j + 1]) > 0)
{
strcpy(tmp, str[j]);
strcpy(str[j], str[j + 1]);
strcpy(str[j + 1],tmp);
}
}
for(i = 0; i < n; i++)
puts(str[i]);
return 0;
}

心得体会

通过上机学会了指针的定义,指针的使用。巩固了知识点。

posted @ 2019-06-19 21:59  .马淑慧  阅读(252)  评论(0编辑  收藏  举报