您的位置:首页 > 编程语言 > C语言/C++

C语言程序设计课后作业13

2013-06-06 22:00 399 查看
作业1:
输入一个字符串和一个正整数m,将该字符串中的前m个字符复制到另一个字符串中,再输出后一个字符串。
运行示例
Enter a string: abcdefghijk
Enter an integer: 6
The new string is abcdef

#include<stdio.h>
#include<string.h>
#define NUM 10
void main()
{
char str[NUM];
int i;
printf("Enter a string:");
gets_s(str);
printf("Enter an integer:");
scanf_s("%d",&i);
for(int n=0;n<=i-1;n++)
printf("%c",str
);
}
----------------------分割线----------------------
作业2:
编一个函数void fun( char *ss),从键盘输入一个字符串存入数组a中,利用函数再将a的内容前后倒置后重新存入数组a中并输出(要求用指针访问数组元素)
运行示例
输入: abc 123
输出:321 cba
#include<stdio.h>
#include<string.h>
#define N 100
void fun(char *ss);
void main()
{
char a
;
printf("Please put a string:\n");
gets_s(a);
fun(a);
printf("output string :\n %s\n",a);
}
void fun(char *ss)
{
char length=strlen(ss);
char count=length/2;
for(int i=0;i<count;i++)
{ char temp=ss[i];
ss[i]=ss[length-1-i];
ss[length-1-i]=temp;
}
}
作业3:
编一个程序,输入4组整形数,每组3个数,分别求出每组最大的数字,并输出
要求:用函数int max(int *x,int *y,int *z)求出三个数中的最大数
#include<stdio.h>
#define M 4
#define N 3
int max(int *x,int *y,int *z)
{ if(*x>=*y&&*x>=*z) return *x;
if(*y>=*x&&*y>=*z) return *y;
else return *z;
}
void main()
{ int i;
int arr[M]
;
for(i=0;i<M;i++)
scanf_s("%d %d %d",&arr[i][0],&arr[i][1],&arr[i][2]);
for(i=0;i<M;i++)
printf("第%d组的最大值为%d\n",i+1,max(arr[i],arr[i]+1,arr[i]+2));
}
----------------------分割线----------------------
作业4:
输入字符串s,将数字字符放入d数组中,最后输出d中的字符串。
运行示例
输入字符串:abc123edf456gh
输出数字  :123456
#include<stdio.h>
#include<string.h>
#define LENGTH 20
void main()
{ int i=0,j=0;
char str[LENGTH], line[LENGTH],*p;
gets_s(str);
while(str[i]!='\0') i++;
for(p=str;p<str+i;p++)
{
if(*p>47&&*p<58)
{
line[j]=*p;
j++;
}
}
line[j]='\0';
puts(line);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息