入门编程题
⑴ dev-c++入门级编程题一道
#include <iostream>
#include <algorithm>
using namespace std;
#define MAXN 1010
bool f[MAXN];
int n;
int a[MAXN];
void sushu()
{
int i,j;
memset(f,1,sizeof(f));
f[0] = f[1] = 0;
f[2] = 1;
f[3] = 1;
for( i = 4 ; i < MAXN ; i+=2 )
f[i] = 0;
for( i = 3 ; i < MAXN ; i+=2 )
{
if( f[i] )
{
for( j = i<<1 ; j < MAXN ; j+=i )
{
f[j] = false;
}
}
}
}
int main()
{
sushu();
int temp,i,j;
while( scanf("%d",&n)!=EOF)
{
for( i = 0 , j = 0 ; i < n; i++)
{
scanf("%d",&temp);
if( !f[ temp ] ) continue;
a[j++] = temp;
}
sort(a,a+j);
for( i = 0 ; i < j-1; i++)
{
printf("%d ",a[i]);
}
printf("%d\n",a[i]);
}
return 0;
}
⑵ c语言入门函数编程题(调用函数int Max(int a,int b)求两整数最大值
#include <stdio.h>
int Max(int a, int b); // 定义函数Max
void main() //无返回值主函数
{
int x, y, z; //定义整型变量x,y,z
printf("Please input two integers : "); //让用户输入两个整数,务必要用英文输入法输入“,”
scanf("%d,%d",&x, &y); //将用户输入的整型数分别存放到x,y中
if(x==y) //判断x是否等于y,是则输出“这两个整数相等”
{
printf("The two integers are equal!");
}
else //否则,将x,y的值放入实参中并执行Max函数中的内容
{
z = Max(x, y); //实参
printf("The biger number is %d\n", z); //向屏幕输出较大的数
}
}
int Max(int a, int b) //形参
{
int c = 0; //定义整型变量c
c = a>b?a:b; //用三目运算符将a,b值中大的赋值给c
return c; //返回c的值
}
//望采纳^_^
⑶ c#编程题,基础的急用谢谢
1、判断是否子串:IndexOf,比如判断T是否S子串,写法是int idx = S.IndexOf(T);此时,如果idx返回不小于0的数值,则代表T是S的子串;如果不是,则返回-1。
2、idx就是你要的起始位置。
3、授人以鱼不如授人以渔,所以代码你就自己写吧,总共只用到了IndexOf这一个方法。
⑷ 求解一道C语言基础编程题。。
intbase(intk,chars[])//按定义,k是进制(2~16),s是输入的字符串
{
int len=0,sum=0; //len 指s字符串长度,sum指转换后的k进制数
int i,j,t,n;
while (s[len]!='\0') len++; //计算s数组长度,也就查看用户从键盘输入了多少字符
i=len-1; //从最高位开始,也就是从最右侧开始计算,比如s=1234ab,先从b开始计算
while (s[i]!='\0') //逐个读取字符串s,第i位的具体字符值,s[i]是否有效
{
n=0; //s[i]是字符(char),s[i]转换成10进制对应的值
if (s[i]>='0'&&s[i]<='9') //查ascii码表
n=s[i]-48; //48即字符 '0'
else if (s[i]>='A'&&s[i]<='F') //A--F用来代表10进制下的10~15
n=10+s[i]-'A'; //s[i]是字符(char),s[i]转换成10进制对应的值
t=1;
for (j=0; j<len-i-1; j++) t=t*k;
/* //以上语句等于如下形式,s[i]对应的倍率,假设k=10,就好理解
t=1; //个位,即i=len-1时
t=1*k; //十位 即i=len-2时
t=1*k*k; //百位
t=1*k*k*k; //千位
.....
*/
sum += n*t; //合计,个+十+百+千+...
i--;
}
return (sum);
}
main()
{
int sz;
char str[20];
scanf("%d %s",&sz,str);
if (sz<2||sz>16)
printf("输入错误。\n");
else
printf("%d\n",base(sz,str));
}
⑸ 初学编程,大家帮忙看下这道c语言题怎么做万分感谢
先给你第一题的,网络知道的这个编辑器真的不适合粘贴代码
#include<stdio.h>
#include<string.h>
#define MAX_ARRAY_SIZE 1024
#define MAX_MAP_SIZE 10
/* 输入数组,连续输入,如:aedabcdaeas */
int inputArray(char *buff) {
int len = 0;
/* 使用fgets来防止缓冲区溢出 */
if (NULL == fgets(buff, MAX_ARRAY_SIZE, stdin)) {
return 0;
}
len = strlen(buff);
/* fgets 返回的数据可能是换行符结尾的,也可能不是,对换行符结尾的进行处理 */
if (buff[len - 1] == ' ') {
buff[len - 1] = '